我的nginx confid文件看起来像:
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...
}
不幸的是,TLS1.2不支持Android 4.0-4.3,我已经chanched配置:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
但是在使用SSLTest之后,它显示我报告TLS 1和TLS1.1不受支持。
我错过了smth更改配置文件吗?提前感谢。
**更新:**我已通过以下命令检查证书:
openssl s_client -tls1 (and so on) -connect example.org:443 < /dev/null
以及为每个协议启用的证书。
2条答案
按热度按时间e5nqia271#
我不知道哪些密码适用于TLSv1和TLSv1.1,但我从使用SSLTest的测试站点注意到,GCM密码仅针对TLSv1.2列出。
您可能需要使用包含更多内容的密码列表。
例如:
l7mqbcuq2#
使用Ubuntu 22.04,让TLS 1.0/1.1工作是一个巨大的痛苦,因为Ubuntu的openssl 3.0版本似乎根本不包括TLS 1.0/1.1支持。
我能够让它工作:
1.正在从source构建openssl 1.1.1分支
1.卸载libssl-dev后,从source构建nginx,以便它找到本地构建的openssl -并确保启用所需的modules
1.更新openssl config
1.更新Nginx配置
1.更新我的systemd服务以使用本地nginx版本
买者自负,请记住,如果你这样做,你将不会得到自动安全更新。