banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

NginxはOpenSSLをBoringSSLに置き換える

まず、BoringSSL は Google が作成した OpenSSL の派生ですが、BoringSSL のコードは API や ABI の安定性を保証できないため、Google は引き続き OpenSSL にバグ修正を提出し、Core Infrastructure Initiative と OpenBSD Foundation を支援し続けます。Google は 70 以上の OpenSSL パッチを使用しており、一部は OpenSSL のメインライブラリに統合されましたが、ほとんどは統合されていません。Android、Chrome、および他のプロジェクトがこれらのパッチの一部を必要とするようになるにつれて、状況はますます複雑になり、すべてのパッチが異なるコードベースで正常に動作することを確保するためには多くの労力が必要です。そのため、彼らは OpenSSL の派生を作成することにしました。

BoringSSL の利点と欠点を簡単にまとめると、利点は OpenSSL との互換性があり、多くの OpenSSL のバグが修正されています。BoringSSL は OpenSSL で修正できないバグも修正されています。欠点は、BoringSSL は TLS と HTTPS のためにのみ作成されており、一部の OpenSSL のオプションはデフォルトで無効になっているため、他の用途には引き続き OpenSSL を使用することをお勧めします。

Nginx で OpenSSL を BoringSSL に置き換える方法は、LibreSSL に置き換える方法と基本的に同じですが、手動でコンパイルする場合はやや手間がかかります。コンパイルする前に、コードのパッチ修正が必要です。以下は参考のために既に実装されているコンパイルスクリプトの一例です。

github @ajhaydock https://github.com/ajhaydock/BoringNginx

実行スクリプト

git clone https://github.com/limccn/BoringNginx.git
cd BoringNginx/1.10.0/
#コンパイルを実行
./build-debian.sh

その他の参考情報 https://imququ.com/post/optimize-ssl-ciphers-with-boringssl.html

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。