如何在 nginx 上启用反向 TLSv1 和 TLSv1.1?
How to enable back TLSv1 and TLSv1.1 on nginx?
我的 nginx 机密文件如下所示:
server {
listen 80;
listen [::]:80;
server_name hostserver.ru www.hostserver.ru;
return 301 https://hostserver.ru$request_uri;
server_tokens off;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name hostserver.ru www.hostserver.ru;
ssl_certificate /etc/letsencrypt/live/hostserver.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hostserver.ru/privkey.pem;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_protocols TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-R$
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000" always;
ssl_stapling on;
ssl_stapling_verify on;
root /var/www/html;
index index.html index.htm;
server_tokens off;
... some location stuff...
}
不幸的是,Android 4.0-4.3 不支持 TLS1.2,我更改了配置:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
但是在使用 SSLTest 后,它向我显示不支持 TLS1 和 TLS1.1 的报告。
我是不是错过了更改配置文件的部分?
提前致谢。
更新: 我已经通过命令检查了证书:
openssl s_client -tls1 (and so on) -connect example.org:443 < /dev/null
并为每个协议启用了证书。
我不知道哪些密码适用于 TLSv1 和 TLSv1.1。但我从使用 SSLTest 的测试站点注意到,GCM 密码仅针对 TLSv1.2 列出。
您可能需要使用更具包容性的密码列表。
例如:
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
我的 nginx 机密文件如下所示:
server {
listen 80;
listen [::]:80;
server_name hostserver.ru www.hostserver.ru;
return 301 https://hostserver.ru$request_uri;
server_tokens off;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name hostserver.ru www.hostserver.ru;
ssl_certificate /etc/letsencrypt/live/hostserver.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hostserver.ru/privkey.pem;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_protocols TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-R$
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security "max-age=31536000" always;
ssl_stapling on;
ssl_stapling_verify on;
root /var/www/html;
index index.html index.htm;
server_tokens off;
... some location stuff...
}
不幸的是,Android 4.0-4.3 不支持 TLS1.2,我更改了配置:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
但是在使用 SSLTest 后,它向我显示不支持 TLS1 和 TLS1.1 的报告。
我是不是错过了更改配置文件的部分? 提前致谢。
更新: 我已经通过命令检查了证书:
openssl s_client -tls1 (and so on) -connect example.org:443 < /dev/null
并为每个协议启用了证书。
我不知道哪些密码适用于 TLSv1 和 TLSv1.1。但我从使用 SSLTest 的测试站点注意到,GCM 密码仅针对 TLSv1.2 列出。
您可能需要使用更具包容性的密码列表。
例如:
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";