「全自动」LNMP1.5 无需升级至 1.6 快速开启 TLS1.3

最近在看一些 TLS 协议 1.3 版本的相关知识,为了用上更安全的传输协议...编译了不下于五次 nginx 和 openssl,网站也跟着崩溃,此教程主要说下如何在 lnmp1.5 上快速部署一个支持 TLS 1.3 协议版本的网站。

2008 年发布的 TLS1.2 传输协议至今也有十年的历史了,2018年下旬推出了速度更快更安全的 TLS1.3 传输协议,Chrome 70、Firefox 64 后续版本都率先支持基于 openssl 1.1.1 的 TLS1.3 传输协议,也是时候抛弃历史迎接新的未来!

TLS 1.3 相对于之前的版本,主要有两大优势:

Enhanced security: 安全性增强

Improved speed:速度提升

Nginx 底层使用的密码库是 OpenSSL,也就是说是否支持 TLS 1.3 版本,取决于 OpenSSL 库。

目前 Nginx 1.13 以上的版本支持 TLS 1.3 版本,而 OpenSSL 1.1.1 版本支持 TLS 1.3 版本。

本教程基于 lnmp1.5 一键包环境,系统为 centos 7.0 其它环境自测。

开始之前先备份当前生产环境,以备崩溃恢复之需。

开启方法:

利用 SSH 工具连接 VPS,输入以下命令下载 lnmp1.6 测试版;

wget http://soft.vpser.net/lnmp/lnmp1.6beta.tar.gz -cO lnmp1.6beta.tar.gz && tar zxf lnmp1.6beta.tar.gz && cd lnmp1.6

下载完之后会自动进入 lnmp1.6 文件夹,此刻请勿执行./install.sh lnmp

lnmp1.6 一键包已经正式支持 TLS1.3,所以直接利用 lnmp1.6里的升级脚本直接为 lnmp1.5 nginx 以及 openssl 进行升级即可。

接着用 lnmp1.6 文件夹里自带的升级脚本来升级 nginx;

./upgrade.sh nginx

输入您需升级的版本号,目前 nginx 官网最新版本为 1.15.9

nginx 版本号查询地址:https://nginx.org/en/download.html

之后会自动升级至你设置的 nginx 版本号以及 TLS1.3 所需要的 openssl 1.1.1 正式版。

20190302220309.png

本网站已自动升级 nginx 1.14.0 openssl 已升级至1.1.1a,TLS1.3 所需要的模块--with-openssl=/root/lnmp1.6/src/openssl-1.1.1a --with-openssl-opt='enable-weak-ssl-ciphers'已自动编译。

conf 加入以下配置;

ssl_protocols  TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:TLS-AES-128-GCM-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";

注:如果您服务器上建立了多个站点(二级域名),需将全部站点 conf 配置文件里都加入以上配置才能生效。

之后重启 nginx 服务,用 chrome 或者 Firefox 通过审查元素查看证书相关信息即可看到网站已开启 TLS1.3 传输协议。

20190302221241.png

全自动编译,无需手动输入编译模块以及修改某些信息,适合不想在生产环境升级至 lnmp1.6 又想使用 TLS1.3 协议,比网络上的教程更加安全高效,更加适合小白党。


标签: lnmp1.5无需手动编译快速开启tls1.3

添加新评论