banner
李大仁博客

李大仁博客

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

Nginx將OpenSSL替換為BoringSSL

標題:"Nginx 替換 OpenSSL 為 BoringSSL"
日期:"2016-08-16"
類別:

  • "系統管理"
    標籤:
  • "安卓"
  • "Chrome"
  • "谷歌"
  • "Nginx"
  • "OpenSSL"

首先科普一下,BoringSSL 是 Google 創建的 OpenSSL 分支,但使用 BoringSSL 的程式碼無法保證 API 或 ABI 的穩定性,所以 Google 會繼續向 OpenSSL 提交錯誤修正,並繼續資助 Core Infrastructure Initiative 和 OpenBSD 基金會。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

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。