老头博客开始支持 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 合租

Redmi Note 9 4G 刷机欧洲EU版净化去广告

虽然口水苹果十三香,但是眼下囊中确实只有红米……到手不用 1000 大洋,试试也无妨,实在不行再找银行/东哥要十三香。 入手 Redmi Note 9 4G 缘由:领导的微信机 iPhone SE 一代确实很老了(再过两个月就开始第六个年头了),没有换过电池,进过水修过一次,现在经常尿崩突然就关机了得插上…

使用 GoAccess 分析 Nginx 日志

最近发现博客加载图片大多时候都是龟速,想过换服务器,换回主机(比如传说中的外贸主机 SiteGround),图片上 CDN……想了一圈,最终什么都没动,一是穷二是懒三是图片多茄大的水文并不多,先这样吧,实在不行再折腾。倒是忍不住折腾了一下 GoAccess 分析 Nginx 日志,分析了一圈,没什么用。 记录…
浏览: 135 标签:  ,  ,  , 

WordPress 纯代码实现彩色标签云及简单优化配置

WordPress 自带标签云小工具,侧栏直接添加即可,就是默认样式有点平淡,可以加点代码实现彩色标签云及简单优化一下。 WordPress 纯代码实现彩色标签云 代码丢到 WordPress 主题 functions.php 文件即可: //彩色标签云 tag cloudfunction theme_color_cloud_hook($text) { $text = preg_rep…
浏览: 32 标签:  ,  ,  ,  , 

WordPress 数据库常用 SQL 语句

WordPress 数据库存储了站点所有信息,数据库对站点来说至关重要,一般情况下不要折腾数据库。但是很多情况下,使用 SQL 语句批量修改站点内容,大大提高效率。下面 SQL 语句均收集自网络,操作需谨慎。所有的SQL语句都是假定你的数据库的前缀是"wp_" ,如果你使用不同的表前缀,请自行修改。 温馨…
浏览: 115 标签:  ,  , 
浏览: 144 标签:  ,  ,  ,  , 

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楼
  13. 才发现,在CDN后面这个TLS1.3就无效了!又拍云又是几个节点测试支持TLS1.3。╯□╰
    不过,还是要感谢博主分享的办法!

    2018.01.12 19:37 # 回复
    13楼

发表留言

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