Nginx启用TLS1.3

OpenSSL 在4月发布了 1.1.1 版本,开始支持最新的 TLS 1.3
TLS 1.3 到现在为止依旧处于测试阶段,对客户端也有要求
关于 TLS 1.3 的特性,可以参照维基百科傳輸層安全協議
这次发布的 OpenSSL 1.1.1-dev 中已经可以体验 TLS 1.3 中的特性,但还不是正式版,所以请勿在生产环境中使用

Nginx 的环境要求

提供 TLS 1.3 要求 Nginx 版本 v1.13 及以上
OpenSSL 版本需在 草案18分支 及以上

1
2
3
4
5
git clone -b tls1.3-draft-18 --single-branch https://github.com/openssl/openssl.git
wget -N --no-check-certificate https://nginx.org/download/nginx-1.13.3.tar.gz
tar zxf nginx-1.13.3.tar.gz && cd nginx-1.13.3
./configure --with-openssl=.../openssl --with-openssl-opt=enable-tls1_3 --with-http_ssl_module
make && make install

那么编译出来的 Nginx 就是滋瓷 TLS 1.3 的了

Nginx 的相关配置

编译完成后, Nginx 需要添加设置项 ssl_protocols TLSv1.3;

并且在 ssl_ciphers 中添加 TLS 1.3 的加密套件 :

1
2
3
4
5
TLS13-CHACHA20-POLY1305-SHA256
TLS13-AES-128-GCM-SHA256
TLS13-AES-256-GCM-SHA384
TLS13-AES-128-CCM-SHA256
TLS13-AES-128-CCM-8-SHA256

保存,启动
之后我们就能看到站点已启用 TLS 1.3 了

Nginx 的详细配置 我之前的一篇帖子中有本站的示例
https://www.nanqinlang.com/nginx-with-https.html