Nginx启用BoringSSL的配置方法

  

本文介绍以BoringSSL作为Nginx加密库的配置方法。

  

BoringSSL是由谷歌从Openssl中抽出来后独立发展的作品,是谷歌,Cloudflare等大牌的御用。

  

BoringSSL有优点也有缺点:优点是它原生提供加密算法等价组(具体我之后会写文章介绍)支持,并且对tls1.3-draft23支持较为不错,而缺点是不能在Nginx下启用tls1.3协议,且BoringSSL自身容易编译失败。

  

本文介绍使用BoringSSL替代Openssl作为Nginx加密库的方式。

  

<强> BoringSSL

  

首先你需要把BoringSSL编译出来。建议编译所用主机配置2 g及以上内存,因为cmake相当消耗内存。以下步骤可能比较多,请按顺序一步步执行:

        #建立一个目录,我们的工作都在这里进行   mkdir - p/home/nginx-installation,,cd/home/nginx-installation      #安装编译所需依赖   # BoringSSL需要Golang支持   apt-get安装- y建设必要让cmake golang      #把BoringSSL源码克隆下来   git克隆- dep 1 https://boringssl.googlesource.com/boringssl,,cd boringssl      #编译开始   mkdir - p/home/nginx-installation boringssl/构建/home/nginx-installation/boringssl/penssl/lib/home/nginx-installation/boringssl .openssl/包括   ln科幻/home/nginx-installation/boringssl/include/openssl/home/nginx-installation/boringssl/.openssl/include/openssl   触摸/home/nginx-installation/boringssl .openssl/include/openssl/ssl.h   cmake - b/home/nginx-installation/boringssl/构建- h/home/nginx-installation/boringssl   让- c/home/nginx-installation/boringssl/构建   cp/home/nginx-installation/boringssl/构建/加密/libcrypto。/home/nginx-installation/boringssl/构建/ssl/libssl。/home/nginx-installation/boringssl/.openssl/lib      之前      

以上步骤完成后,就先把BoringSSL编译完成了。接下来要用,使用openssl把它提供给Nginx使用。

  

<强> Nginx

  

使用以下参数来编译Nginx:

        #使用,使用openssl指定BoringSSL路径   #这里并没有变成”——with-boringssl”   ./configure……——使用openssl=/home/nginx-installation/boringssl      #在配置后,要先摸一下,才能继续   触摸/home/nginx-installation/boringssl .openssl/include/openssl/ssl.h      使   制作安装   之前      

把Nginx编译出来后,查看参数你会看的到:

        sudo nginx - v      由gcc 4.9.2 (Debian 4.9.2)   由OpenSSL 1.1.0 (conpatible: BoringSSL)与BoringSSL(运行)   TLS SNI支持启用   之前      

发现了吗?里面耀眼的BoringSSL字样。

  

<>强密码套件/强>

  

虽说把OpenSSL换成了BoringSSL,其实加密套件的写法还是差不多一样的。你可以这样写:
  

  

代码如下:
  ssl_ciphers “ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-CHACHA20-POLY1305 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-CHACHA20-POLY1305 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA256 ECDHE-RSA-AES128-SHA256的;
  
  

  

当然,如果你想用上BoringSSL的等价组特性的话,可以改成这样:
  

  

代码如下:
  ssl_ciphers “[ECDHE-ECDSA-AES128-GCM-SHA256 | ECDHE-ECDSA-CHACHA20-POLY1305 | ECDHE-RSA-AES128-GCM-SHA256 | ECDHE-RSA-CHACHA20-POLY1305] ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES128-SHA256 ECDHE-RSA-AES128-SHA256的;
  
  

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Nginx启用BoringSSL的配置方法