我已按照所有说明操作但无法在NGINX上显示TLS 1.3

问题描述 投票:1回答:1

我想在我的服务器上启用TLS 1.3。我在Google上关注了很多文章,并且在我自己的配置中有相同的配置设置,但我无法通过TLS 1.2。

我在Ubuntu 16上。

我使用的是使用OpenSSL 1.1.1构建的NGINX 1.14版。

➜ nginx -V
nginx version: nginx/1.14.2
built with OpenSSL 1.1.1  11 Sep 2018 (running with OpenSSL 1.1.1a  20 Nov 2018)
TLS SNI support enabled

这些是我看到的支持TLS 1.3所需的软件的所有必需版本。

我在测试证书时使用的是Chrome 72和SSL Labs,但它总是说它在1.2上。

以下是我的NGINX配置文件中与SSL选项相关的部分

ssl_protocols TLSv1.3 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
ssl_ecdh_curve X25519:secp256k1:secp384r1:prime256v1;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES25
ssl_session_timeout  10m;
ssl_session_cache shared:SSL:10m;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 216.146.35.35 216.146.36.36 valid=60s;
resolver_timeout 2s;

我从https://cipherli.st得到了密码。

有了这些配置选项,我无法通过TLS 1.2协议。

我相信这是我能想到的可能导致我出现问题的一切,但我可​​以告诉你,为了帮助我的案子,你可能需要了解更多。

谢谢,

克里斯

ssl nginx
1个回答
1
投票

你的ssl_protocols应该作为TLSv1.2 TLSv1.3订购。

然后,您的ssl_ciphers应首先包括TLSv1.3密码列表(按此顺序):

TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
TLS_AES_128_GCM_SHA256
TLS_AES_128_CCM_8_SHA256
TLS_AES_128_CCM_SHA256

然后是您的TLSv1.2密码。这是tls13.iachieved.it nginx.conf的样子:

ssl_protocols       TLSv1.2 TLSv1.3;
ssl_ciphers         TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_8_SHA256:TLS_AES_128_CCM_SHA256:ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_prefer_server_ciphers on;

并使用Chrome 72连接到它:

enter image description here

以及该网站的回复:

Your User Agent is:  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36
Your client supports the following ciphers:  0x2a2a:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:0x000a
The negotiated cipher with this server is:  TLS_AES_256_GCM_SHA384

请注意,your client supports the following ciphers是您的Web浏览器支持的,而不是服务器。

© www.soinside.com 2019 - 2024. All rights reserved.