先科普 BoringSSL 是 Google 创建的 OpenSSL 分支,但使用 BoringSSL 的代码不能保证 API 或 ABI 的稳定性,所以谷歌会继续向 OpenSSL 递交 bug 修正,继续资助 Core Infrastructure Initiative 和 OpenBSD 基金会。 谷歌使用了超过 70 个 OpenSSL 补丁,部分被接受合并到了 OpenSSL 主库,但大部分没有。随着 Android、Chrome 和其它项目开始需要这些补丁的子集,事情日益变得复杂,要保证所有补丁在不同代码库正常工作需要太多精力。所以他们决定创建 OpenSSL 分支。
简单总结一下 BoringSSL 的优缺点 优点:兼容 OpenSSL,修正了许多 OpenSSL 的 BUG,OpenSSL 改不了的 BUG 也被 BoringSSL 改了。 缺点: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