ssl - 如何将ssl密码添加到nginx中的ssl_ciphers

标签 ssl nginx encryption lets-encrypt

我正在使用 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 listthis 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/

相关文章:

java - 为什么我会收到已知和受信任证书的 "No issuer certificate for certificate in certification path found"错误?

c++ - QWebView/Qt WebKit 不会打开一些 SSL 页面;不允许重定向?

java - 拥有恒定的KeyStore会降低安全性吗?

php - WP Multisite + SSL 在 wp-admin 上给出 404

javascript - Nginx 重定向到 PhantomJS

php - 403 Forbidden on nginx/1.4.6 (Ubuntu) - Laravel

ruby-on-rails - 无法在 Ubuntu 上通过 Unicorn 重新启动找到 libmagickwand-dev 包

c++ - 尝试在 OpenSSL 中使用 EVP 函数时出现段错误

android - 身份验证 android 消息传递应用程序

javascript - 凯撒密码仅获得第一个值正确