2017-10-11 395 views
0

我已經創建了我的SSL證書如下:ERR_SSL_VERSION_OR_CIPHER_MISMATCH - nginx的

openssl ecparam -name secp521r1 -genkey -param_enc explicit -out domain.com.key 
openssl req -new -sha256 -key domain.com.key -out domain.com.csr -config domain-csr.conf 

我得到了domain.com.csr文件從我的SSL提供商送我捆綁和CRT文件。

但是當我查看網站我得到的ERR_SSL_VERSION_OR_CIPHER_MISMATCH

我的nginx.conf是:

server { 
    server_name {{ $host }}; 
    listen 443 ssl http2 {{ $default_server }}; 
    access_log /var/log/nginx/access.log vhost; 

    ssl_protocols TLSv1.1 TLSv1.2; 
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA; 

這裏的日誌:

[email protected] ~/nginx-proxy $ docker logs nginx-proxy-server 
WARNING: /etc/nginx/dhparam/dhparam.pem was not found. A pre-generated dhparam.pem will be used for now while a new one 
is being generated in the background. Once the new dhparam.pem is in place, nginx will be reloaded. 
forego  | starting dockergen.1 on port 5000 
forego  | starting nginx.1 on port 5100 
dockergen.1 | 2017/10/13 11:50:18 Generated '/etc/nginx/conf.d/default.conf' from 14 containers 
dockergen.1 | 2017/10/13 11:50:18 Running 'nginx -s reload' 
dockergen.1 | 2017/10/13 11:50:18 Watching docker events 
nginx.1 | 2017/10/13 11:50:18 [crit] 37#37: *20 SSL_do_handshake() failed (SSL: error:1417D102:SSL routines:tls_process_client_hello:unsupported protocol) while SSL handshaking, client: 195.39.86.27, server: 0.0.0.0:443 
nginx.1 | 2017/10/13 11:50:18 [crit] 37#37: *21 SSL_do_handshake() failed (SSL: error:1417D102:SSL routines:tls_process_client_hello:unsupported protocol) while SSL handshaking, client: 195.39.86.27, server: 0.0.0.0:443 

我失去了什麼?

任何意見是非常感謝。

+0

'$ OpenSSL的version'的輸出? –

+0

'ccc @ zapotec/ccc $ openssl version OpenSSL 1.0.2j 2016年9月26日 ' – khinester

+1

我在nginx.conf中看不到證書的任何配置。你是否從這個問題中忽略了它,還是真的從配置中遺漏了?另外,你看過服務器的錯誤日誌嗎? –

回答

0
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-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256 

https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility