Nginx开启TLS 1.3
随着互联网安全越来越受到重视,越来越多的网站选择启用https来保证数据的加密传输,TLS1.2发布于2008年8月,至今正好有10年,所以新协议TLS1.3呼之欲出。Google chrome在最近的版本更新中也开始对TLS1.3进行支持,TLS1.3对于TLS1.2有重大改写,提高了安全性并且提高了速度,
安装依赖
我用的是Ubuntu 16.04+lnmp.org一键脚本系统,首先安装依赖和编译工具:
sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g-dev unzip git
下载Brotli
不需要可略过,可以参考Nginx启用Brotli压缩算法
最新版已经无需安装额外依赖 bagder/libbrotli
cd /usr/local/src/
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
git submodule update --init
cd ..
下载OpenSSL
为了支持 TLS 1.3 final,需要使用 OpenSSL 1.1.1 正式版:
wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -zxvf openssl-1.1.1.tar.gz
mv openssl-1.1.1.tar.gz openssl
编译并安装 Nginx
cd /usr/local/src
VERSION=1.14.1 #换成你想要的版本
wget http://nginx.org/download/nginx-${VERSION}.tar.gz
tar -xvzf nginx-${VERSION}.tar.gz
cd /usr/local/src/nginx-${VERSION}
./configure --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=../openssl --with-openssl-opt='enable-tls1_3 enable-weak-ssl-ciphers' --add-module=/usr/local/src/ngx_brotli
make
sudo make install
如果要支持IE8,添加enable-weak-ssl-ciphers
选项
以上步骤会把 Nginx 装到 /usr/local/nginx/ 目录,如需更改路径可以在 configure 时指定。
站点配置
我的站点配置文件在/usr/local/nginx/conf/vhost/hanyibo.com
修改一下两处参数:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # 增加 TLSv1.3
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;
如果你不打算继续支持 IE8,可以去掉包含 3DES
的 Cipher Suite
。
测试
- 上一篇: DNSmasq搭建自己的递归DNS服务器
- 下一篇: Haproxy代理火绒服务器实现内网更新病毒库
收藏一下,感觉好难啊
这两天也折腾了一下。我也用的军哥lnmp,改了下脚本,现在可以自动签let's encrypt RSA/ECC双证书。然后用网上的办法给openssl打了补丁,现在同时支持TLS1.3 draft 28, draft 26, draft 23, final ,自我YY一下,感觉还行~
够折腾的啊,我比较懒没弄双证书,现在还用xp系统的应该不会看我的网站。
用ECC的大佬
俺是用ECC的小白
目前用的69还不支持final,最多只能开到28
赶快升级70