老头博客开始支持 TLS 1.3

TLS 1.3 目前只是 draft 版本,而支持 TLS 1.3 的 OpenSSL 1.1.1 的 draft-18 分支也只是开发者版本,所以,暂时最好不要用在生产环境。

其实前几天就折腾过 lnmp 1.4 升级 nginx 1.13.7,想顺手加上 TLS 1.3 支持,无奈折腾一圈以失败告终。

lnmp 1.4 更新至 nginx 1.12.2

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

sys 博友提醒会不会是配置没写对,细想也对,按道理是能成功的。

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

修改 lnmp1.4 配置文件升级 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"'

又或者

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

但是实际上两者都是无法成功的。今天试着直接修改 upgrade_nginx.sh,./configure 处加上 OpenSSL 相关的这个配置项。把文件中两处

${Nginx_With_Openssl} ${NginxMAOpt} ${Nginx_Modules_Options}

替换成下面的代码:

--with-openssl=/root/lnmp1.4/src/openssl-1.1.1-dev ${NginxMAOpt} --with-openssl-opt="enable-tls1_3 enable-weak-ssl-ciphers"

注意 "enable-tls1_3 enable-weak-ssl-ciphers" 的 "" 不要漏掉。

upgrade_nginx.sh 文件中的 Install_Nginx_Openssl 删除。

接着把 OpenSSL 1.1.1 的 draft-18 分支代码克隆到 /root/lnmp1.4/src/openssl-1.1.1-dev 目录下备用:

git clone -b tls1.3-draft-18 --single-branch https://github.com/openssl/openssl.git /root/lnmp1.4/src/openssl-1.1.1-dev

然后执行 ./upgrade.sh nginx,输入想要升级的 nginx 版本,如 1.13.7,回车确认。如无意外,就能编译成功。

...
Checking ...
Program will display Nginx Version......
nginx version: nginx/1.13.7
======== upgrade nginx completed ======

执行 nginx -V 可以看到详细配置信息:

nginx version: nginx/1.13.7
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
built with OpenSSL 1.1.1-dev  xx XXX xxxx
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-ipv6 --with-http_sub_module --with-openssl=/root/lnmp1.4/src/openssl-1.1.1-dev --with-openssl-opt='enable-tls1_3 enable-weak-ssl-ciphers'

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 也能访问。

浏览器设置

Chrome 62+ 中需要将 chrome://flags/ 中 TLS 1.3 改为 Enabled (Draft);Firefox,将 about:config 中的 security.tls.version.max 改为 4;

所以,目前开启 TLS 1.3 一定程度上就是自嗨而已。

更新记录

2018-03-25:Chrome 65.0.3325.181 已不支持 TLS 1.3 (Draft 18),最低支持 TLS 1.3 (Draft 22)。如需体验,需要安装 openssl-1.1.1-pre 版本,比如:openssl-1.1.1-pre3 - via:https://www.openssl.org/source/

2018-11-30:最新文章

LNMP 1.5 使用 OpenSSL 1.1.1 开启 TLSv1.3 支持

以前使用 OpenSSL 1.1.1 dev draft-18 开启过 TLSv1.3,那时候浏览器都得手工开启才支持 TLSv1.3,所以基本上纯属自娱自乐。八月份 TLS 1.3 正式发布,九月份...

除非注明,垃圾站文章均为网络收集,本文地址 https://cyhour.com/614/,转载时烦请以链接形式注明原始出处。
声明:我们不销售主机,任何VPS主机均有跑路风险且需定期备份,防止数据丢失。信息以实际为准,评测仅供参考不代表权威!
🍄:Netflix 奈飞 YouTube 合租

WordPress 5.0+ 禁用 Gutenberg & WordPress 5.8+ 禁用 Widget 块编辑器

2018.12.06,WordPress 5.0 发布,代号 Bebo。最大的亮(黑)点就是正式引入新的基于块(block-based)的编辑器 —— Gutenberg 编辑器,以及新的默认主题 —— Twenty Nineteen。 WordPress 5.0+ 禁用 Gutenberg 编辑器 第一时间升级,打开文章编辑,一股说不出的杯具感在心头……变化太大,心累…
浏览: 110 标签:  ,  ,  , 

Adobe Flash Player 去helper(Win10 完美恢复)

Adobe 在2020年12月31日后将不再支持 Adobe Flash Player,从2021年1月12日开始,阻止 Flash 内容在 Flash Player 中运行。截图 虽然不喜欢 Adobe Flash Player,但是有些网站目前仍然离不开 Adobe Flash Player,过渡解决方法是:安装中国特供版 Adobe Flash Player 或者安装网友修改 Adobe Flash…

升级新版 Google AdSense 代码提升广告效果

2021年7月19日,Google AdSense 最近发布了新版 AdSense 代码。通过新版 AdSense 代码,AdSense 可以更早触发优化功能,从而提升网站上广告效果。新广告代码适用于自动广告和广告单元。 如何获取 Google AdSense 新版代码? 无需采取任何措施。在下次登录 AdSense 后,您将拥有对新广告代码的访…

利用 Google Analytics 追踪 WordPress 站内搜索关键词

Google分析(Google Analytics)是一个由 Google 所提供的网站流量统计服务。Google 分析(Analytics)现在是互联网上使用最广泛的网络分析服务。 利用 Google Analytics 追踪 WordPress 站内搜索关键词 优化内容 如果网站/博客在 Google Analytics 流量统计,利用 Google Analytics 追踪 W…
浏览: 95 标签:  ,  ,  ,  ,  , 

Comments:39

  1. 你这是折腾无止境啊

    2017.12.15 23:50 # 回复
    1楼
  2. 垃圾站-明月清风
    明月清风

    是不是我们喜欢博客的都爱折腾

    2017.12.16 17:04 # 回复
    2楼
  3. 这个有什么好处呢?

    2017.12.17 18:32 # 回复
    3楼
  4. 技术帝,真的跟不上。。

    2017.12.18 09:01 # 回复
    4楼
  5. 如果要知道最近有什麽新技术,来这里没错了!

    2017.12.18 16:09 # 回复
    5楼
  6. 生生不息,折腾不止啊!

    2017.12.18 17:22 # 回复
    6楼
  7. 我还是等lnmp升级吧,把系统搞坏了划不来 :)

    2017.12.20 15:42 # 回复
    7楼
    • @Mr.He 按照这个操作应该搞不烂,搞之前弄个快照,就不怕了,哈哈哈……

      2017.12.20 15:48 # 回复
  8. 目前我连SSL都木有

    2017.12.22 11:01 # 回复
    8楼
  9. 1.3有什么好处?我也只是免费使用Let’s Encrypt,测试显示SSL为A+。

    2017.12.24 08:07 # 回复
    9楼
    • @佐仔 看介绍好像是更安全,速度更快……但是目前只是拟稿,浏览器默认不支持,所以很大程度上只是自嗨。

      2017.12.24 12:52 # 回复
  10. 厉害,看起来就贼安全

    2017.12.24 20:35 # 回复
    10楼
  11. 垃圾站-Klose
    Klose

    我这里为什么看到还是1.2。。。。

    2017.12.25 16:07 # 回复
    11楼
  12. 厉害,终于看到 一个有效的解决方案了!抽空我也试试去!

    2018.01.11 11:19 # 回复
    12楼
    • @明月登楼 打开你的博客提示:{“msg”:”handshake failed”,”code”:”50302006″,”id”:”cf7f0128f4593cbdb747cc527608c506″}。折腾坏了?

      2018.01.11 11:50 # 回复
  13. 才发现,在CDN后面这个TLS1.3就无效了!又拍云又是几个节点测试支持TLS1.3。╯□╰
    不过,还是要感谢博主分享的办法!

    2018.01.12 19:37 # 回复
    13楼

发表留言

Vultr 送$100,搬瓦工年付最低$49,优惠码 BWH3HYATVBJW,更多推荐VPS信息