如何在nginx上启用TLSv1和TLSv1.1?

时间:2017-12-23 14:50:07

标签: 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...
}

Ufortunatelly,Android 4.0-4.3不支持TLS1.2并且我已经启用了配置:

   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

但是在使用SSLTest后,它向我显示不支持TLS1和TLS1.1。

我是否错过了更改配置文件的smth? 提前谢谢。

更新:我已按命令检查证书:

openssl s_client -tls1 (and so on) -connect example.org:443 < /dev/null
为每个协议启用

和证书。

1 个答案:

答案 0 :(得分:1)

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

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

例如:

Book.objects.filter(title__unaccent=remove_diacritics('prajñā'))