nginx 似乎忽略了 ssl_ciphers 设置

nginx 似乎忽略了 ssl_ciphers 设置

我正在尝试限制 nginx 以避免使用使用 DH 算法进行密钥交换的密码。

为了强制执行此操作,我将 ssl_ciphers 设置为单个套件:

ssl_ciphers 'AES256-GCM-SHA384';

重新启动 nginx 后,我可以从访问日志中看到它仍然选择其他密码(在本例中为 DHE-RSA-AES128-GCM-SHA256):

10.162.10.235 [02/Feb/2017:15:09:09 +0000] "GET /images/favicon.ico HTTP/1.1" 200 0 "https://example.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36" 0.001 - "" "DHE-RSA-AES128-GCM-SHA256" "TLSv1.2" "-" "xxx" "r" - -

我肯定误解了 ssl_ciphers 指令的工作原理。我也尝试将其设置为 '!DH:!ECDH',但似乎根本无法就兼容密码达成一致。

要强制使用 AES256-GMC-SHA384,应进行什么设置?

答案1

我正在重新启动 nginx,但我相信它只是重新启动了主进程并在该进程中加载​​新配置。现有的工作进程显然仍具有旧配置。

我重新启动了 nginx,导致出现此问题。我使用了以下命令:

service nginx restart 

事实证明,有几种不同的方法可以强制 nginx 重新加载其配置,但服务配置的方式并未使用任何这些方法。

就我的目的而言,只需停止服务并等待一两分钟再重新启动就足够了。

相关内容