我正在使用 Let's Encrypt 在我的服务器中安装免费的 TLS/SSL 证书。我听从了Mozilla SSL Configuration Generator的建议并像这样配置 nginx:
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
问题是我需要 Java 7 才能与服务器通信,但它不适用于上述配置。
当我将网站提交给 ssllabs 时我收到以下消息:
Java 7u25 Server sent fatal alert: handshake_failure
如果我只是在 nginx 配置中注释 ssl_ciphers 行,那么与 Java 7 的通信就会开始工作。
# After commenting the line below it works
# ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
所以我从 ssllabs 收到以下消息:
Java 7u25 RSA 2048 (SHA256) TLS 1.0 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
我不想让 ssl_ciphers 行被注释掉,因为 nginx 会使用它的默认配置,这不太安全。
我只想将密码 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 添加到 ssl_ciphers 列表中。
这可能吗?怎么做?
最佳答案
来自 OpenSSL's cipher list或 this nice table from testssl.sh , TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
对应于ECDHE-RSA-AES128-SHA
。所以你将你的 ssl_ciphers
指令设置为
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:ECDHE-RSA-AES128-SHA";
关于ssl - 如何将ssl密码添加到nginx中的ssl_ciphers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44400578/