Nginx开启TLS1.3

By | 2018年5月15日

记录下Nginx编译安装时如何顺便开启TLS1.3特性。

目前Chrome浏览器的65版本已经支持TLS1.3 Draft 23(在chrome:flags中查看支持的Draft版本),我们可以下载支持Draft 23的OpenSSL包。

经测试,目前OpenSSL的1.1.1版本中pre2版本是完美支持Draft 23的。所以这里使用openssl-1.1.1-pre2.tar.gz

下载后解压即可,无需安装,我们在编译nginx时,引用这个openssl目录即可。

安装nginx时的命令如下:

./configure 
--prefix=/opt/programs/nginx 
--with-openssl=/opt/nginx_source/openssl_1_1_1-pre2 
--with-openssl-opt='enable-tls1_3 enable-ec_nistp_64_gcc_128 enable-weak-ssl-ciphers'  
--with-http_v2_module 
--with-http_ssl_module 

nginx安装完成后,配置文件中:

ssl_ciphers   TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;