Jan 08

关于浏览器支持 TLSv1.3 的情况请参考:https://caniuse.com/#feat=tls1-3

主流的 Chrome 70+ 版本支持 TLS 1.3 Final;Firefox 63+ 确认 about:config 中的 security.tls.version.max 为 4;

具体方法:

1. 修改 lnmp1.5 脚本文件
首先是 \lnmp1.5\include\version.sh 文件,将 Openssl_Ver='openssl-1.0.2o' 修改为:Openssl_Ver='openssl-1.1.1a'

2. 使用 lnmp1.5 脚本升级 nginx

进入 lnmp1.5 目录,执行命令:

./upgrade.sh nginx

然后输入需要升级的 nginx 版本号,如目前最新的 1.15.8。nginx 最新版本号可从官网获取:http://nginx.org

静待编译完成。

执行 nginx -V 可查询详细配置信息:

nginx version: nginx/1.15.8
built by gcc 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.11)
built with OpenSSL 1.1.1a 20 Nov 2018
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-stream --with-stream_ssl_module --with-openssl=/home/vmmate/Src/lnmp1.5-full/src/openssl-1.1.1a --with-ld-opt='-ljemalloc'

3. 修改主机配置文件

ssl_protocols 加入 TLSv1.3 支持,如:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

ssl_ciphers 参考配置(包含 TLS13 是 TLS 1.3 新增的 Cipher Suite,加在最前面即可;):

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:!MD;

文件修改完,重启一下 nginx:

sudo lnmp nginx restart

然后就可以去浏览器访问验证一下。

TLSv1.3 是否开启成功验证:

1、Chrome 70+ 版本打开网站,F12 打开开发者工具,「Security」可以看到 Connection - secure (strong TLS 1.3) 字样信息。

2、Firefox 63+ 版本打开网站,F12 打开开发者工具,「网络」,刷新页面,在「网络」资源列表下随便选中一个本站链接或者打开页面的链接,然后在右侧详细信息查看「安全性」即可看到连接协议版本。

3、在线检测:https://www.ssllabs.com。

点击显示引用框
引用本文,复制粘贴...