最新消息:20210917 已从crifan.com换到crifan.org

【已解决】确认nginx是否已支持TLSv1.3以及是否要一定要支持TLSv1.3

nginx crifan 1106浏览 0评论
折腾:
【未解决】nginx中关于ssl配置的逻辑和常见参数含义
期间,已经可以通过官网资料和nginx命令确认支持TLSv1.2了,但是对于:
基础能力 · 小程序
“* TLS 必须支持 1.2 及以上版本。部分旧 Android 机型还未支持 TLS 1.2,请确保 HTTPS 服务器的 TLS 版本支持 1.2 及以下版本;“
中提到的:
TLS 必须支持 1.2 及以上版本
且在:
Module ngx_http_ssl_module
看到提到了TLSv1.3
“The TLSv1.3 parameter (1.13.0) works only when OpenSSL 1.1.1 built with TLSv1.3 support is used.”
-》此处也最好去确认一下,是否支持?如何才能支持?
nginx ssl_protocols TLS v1.3
How to enable TLS 1.3 on Nginx
...
ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers                 ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers   on;
ssl_ecdh_curve              secp384r1;
...
抽空可以去试试:
ssl_protocols               TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
然后:
nginx -t
看看结果就知道了。
不过人家提到了:“Since Nginx 1.13
此处只是:1.12.2,没到1.13
[root@xxx cert]# nginx -V
nginx version: nginx/1.12.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
built with OpenSSL 1.0.2l  25 May 2017
TLS SNI support enabled
configure arguments: --user=www --group=www --prefix=/www/server/nginx --with-openssl=/www/server/nginx/src/openssl --add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module --add-module=/www/server/nginx/src/ngx_cache_purge --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_gunzip_module --with-stream --with-stream_ssl_module --with-ipv6 --with-http_sub_module --with-http_flv_module --with-http_addition_module --with-http_realip_module --with-http_mp4_module --with-ld-opt=-Wl,-E
所以肯定是不支持的。
让Nginx快速支持TLS1.3协议 – 简书
“2018.04.18 
截止到现在 TLS 1.3 协议仍然处于草案阶段,最新的 RFC 文档是 draft 28,对于大型系统来说,目前并不建议部署,当然对于个人网站来说,可以部署 TLS 1.3 版本 。
2)TLS 1.3 和 TLS 1.2 版本有很大的不同,从协议消息的角度来看,两者是不兼容的,也正因为此,大型系统目前不建议采用 TLS 1.3 版本。”
“Nginx 底层使用的密码库是 OpenSSL,也就是说是否支持 TLS 1.3 版本,取决于 OpenSSL 库。
目前 Nginx 1.13 以上的版本支持 TLS 1.3 版本,而 OpenSSL 1.1.1 版本支持 TLS 1.3 版本,最新的 OpenSSL 1.1.1-pre5 支持 TLS 1.3 draft 26。”
-》
所以此处暂时可以不考虑一定非要支持:TLSv1.3
给 Nginx 添加 TLS1.3 支持 | Love4Taylor’s Blog
本博客开始支持 TLS 1.3 | JerryQu 的小站
How to Enable TLS 1.3 in Nginx, Cloudflare?
How To Enable TLS 1.3 in Nginx (1.14.0) on Debian Stretch with BoringSSL — Blobfolio
提到了:
OpenSSL后来分化出:
BoringSSL and LibreSSL.
TLS 1.3 SSL on a NGINX Website on an Ubuntu 16.04 server w Cloudflare
ssl – TLS v1.3 not active despite being enabled in NGINX config (certbot –nginx) – Server Fault
不过还是想要顺带去搞清楚:此处的openssl的版本到底是多少?
nginx openssl version check
How to test and confirm OpenSSL is updated for Nginx and Ruby … • Aaron Parecki
How to get already installed NGINX to use OpenSSL 1.0.2 for ALPN? | DigitalOcean
How to update openSSL from 1.0.1f on ubuntu 14.04 / 14.10 ? | DigitalOcean
之前试了:
openssl -v
openssl -V
openssl --help
都不行。后来参考:
apcera/nginx-openssl-version: Nginx OpenSSL version check at startup
试了:
[root@xxx cert]# openssl version -b
built on: reproducible build, date unspecified
[root@xxx cert]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017
得知此处是:
OpenSSL 1.0.2k-fips
openssl version check
How to determine the OpenSSL version
【总结】
对于“Nginx 1.13 以上的版本支持 TLS 1.3 版本,而 OpenSSL 1.1.1 版本支持 TLS 1.3 版本”
此处:
  • nginx:1.12.2
  • OpenSSL:1.0.2k
-》所以此处不支持TLS v1.3的
-》且由于目前TLS v1.3也不够成熟,不够大规模使用,所以也不需要支持。
  • 等以后有需要再说。

转载请注明:在路上 » 【已解决】确认nginx是否已支持TLSv1.3以及是否要一定要支持TLSv1.3

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
93 queries in 0.184 seconds, using 23.35MB memory