lnmp 1.4 更新至 nginx 1.12.2

lnmp 更新 nginx 还是挺方便的,执行 ./upgrade.sh nginx 然后输入 nginx 版本号就可以自动升级。nginx 升级为平滑升级,升级过程不影响 nginx 运行。

其实原本是折腾 TLSv1.3 的,网上看教程好像不难。比如,JerryQu 的本博客开始支持 TLS 1.3

照着教程,结合 lnmp1.4,开启 TLSv1.3 并不难。

OpenSSL 1.1.1

为了支持 TLS 1.3,需要使用 OpenSSL 1.1.1 的 draft-18 分支:

git clone -b tls1.3-draft-18 --single-branch https://github.com/openssl/openssl.git openssl

升级 nginx

编辑 lnmp1.4 目录下 lnmp.conf 配置文件,在 Nginx_Modules_Options 处加入 OpenSSL 支持 TLS 1.3 关键选项 enable-tls1_3,以及 enable-weak-ssl-ciphers,作用是让 OpenSSL 继续支持 3DES 等不安全的 Cipher Suite,如果不加这个选项,XP 下 IE8 会无法访问。

Nginx_Modules_Options='--with-openssl=/root/openssl --with-openssl-opt=enable-tls1_3 enable-weak-ssl-ciphers'

但是,实际测试运行,这个配置无法顺利升级,会提示 enable-weak-ssl-ciphers 错误无法继续。是因为 CentOS7 系统还停留在 OpenSSL 1.0.2 的原因?还是这个配置这样写不对呢?

去掉 enable-weak-ssl-ciphers 选项,就可以顺利升级到 nginx 1.13.7,并开启 TLSv1.3。

WEB 站点配置

在 Nginx 的站点配置中,增加 TLSv1.3 相关参数:

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;

重启 lnmp restart,使用 Qualys SSL Labs's SSL Server Test 可以测试到服务器支持 TLSv1.3,但是 XP 下 IE8 无法访问。

enable-weak-ssl-ciphers

折腾一圈,还是无法添加 enable-weak-ssl-ciphers 编译,也许是要先升级系统 OpenSSL?据说手动升级 OpenSSL 有可能导致未知错误,暂时放弃折腾,最后只是顺手升级 nginx 到 1.12.2 稳定版本。

参考资料

JerryQu - 本博客开始支持 TLS 1.3

一起回味 - 在LNMP 1.4中开启TLS 1.3

WDlinux - openssl升级教程及nginx升级教程


老司机快来带带老杨……

声明:除非注明,常阳时光文章均为原创
本文地址:https://cyhour.com/612/
转载时必须以链接形式注明原始出处。
Views: 933 Tags:  ,  ,  , 

Comments:12

  1. 路杨

    恭喜升级。
    PS:老杨本身就是老司机。哈哈

    2017.12.13 00:41 # 回复
    1楼
  2. 不懂技术就跟看天书一样。。

    2017.12.13 15:08 # 回复
    2楼
  3. sys

    感觉写法有错误啊,–with-openssl-opt= 的等号后面的两个选项要用引号引住

    2017.12.14 23:10 # 回复
    3楼
    • @sys 引住也是会提示同样的错误。

      2017.12.14 23:32 # 回复
      • sys

        @老杨 我想了下,既然去掉 enable-weak-ssl-ciphers 的编译选项可以成功,那不妨换个思路也试一试去掉 enable-tls1_3 只留下一个 enable-weak-ssl-ciphers 是否可行,这样排除一下是 enable-weak-ssl-ciphers 自身问题导致的。
        另外,建议编译失败后在 /root/openssl 目录中执行一下 make clean 把之前编译过可能有问题的配置清除干净再重编译。

        2017.12.14 23:50 # 回复
        • @sys 谢谢,之前确实试过去掉 enable-tls1_3,是可以编译成功的,两个选项一起就出错。刚才又试了一下,编译成功了。之前是改 lnmp 一键包的升级脚本来升级安装的,是脚本没改好,今天重新改了一下,就好了……囧。

          2017.12.15 09:39 # 回复
  4. 我也是1.12.2,感觉速度嗖嗖的…

    2017.12.27 19:53 # 回复
    4楼
  5. “手动升级 OpenSSL ”绝对是个大坑,我已经被“坑”过N次了都!

    2018.01.11 13:31 # 回复
    5楼

发表留言

炒蛋:Vultr 送$25 | 搬瓦工年付$19补货,优惠码 BWH26FXH3HIQ | 推荐VPS信息