ssl - 如何在 nginx 上启用反向 TLSv1 和 TLSv1.1?

标签 ssl nginx tls1.1 tls1.0

我的 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...
}

不幸的是,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

并为每个协议(protocol)启用证书。

最佳答案

我不知道哪些密码适用于 TLSv1 和 TLSv1.1。但我从使用 SSLTest 的测试站点注意到,GCM 密码仅针对 TLSv1.2 列出。

您可能需要使用更具包容性的密码列表。

例如:

ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";

关于ssl - 如何在 nginx 上启用反向 TLSv1 和 TLSv1.1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47953440/

相关文章:

java - Gradle:找不到受信任的证书

java - 让java插件使用浏览器证书

dokku+nginx 上的 SSL

python - 如何使用 unix 套接字加载 2 个 Flask 应用程序来为 nginx/uwsgi 的 2 个子域提供服务?

nginx - Kubernetes NGINX 入口 Controller 激活 TLSv1.1

ssl - 如何在 IOS 中使用安全的 Ejabberd 服务器连接 XMPP 客户端?

c++ - BB10 QNX Momentics IDE 中的 SSL 握手失败

android - 具有 phonegap 的 Android 客户端的 Web 服务的权威签名证书或自己的证书

reactjs - Kubernetes中的后端/前端服务之间没有通信