如何在nginx中禁用TLS重新协商

时间:2013-11-15 02:11:51

标签: nginx webserver

我在nginx上托管我的服务器的safari有一个非常奇怪的问题。 ssl握手失败并提供服务器证书警告弹出窗口,我在nginx调试日志中得到了这个

nginx logs
    2013/11/01 23:27:59 [debug] 16494#0: *240 http recv(): 1
    2013/11/01 23:27:59 [debug] 16494#0: *240 https ssl handshake: 0x16
    2013/11/01 23:27:59 [debug] 16494#0: *240 SSL server name: "www.unitedwifi.com"
    2013/11/01 23:27:59 [debug] 16494#0: *240 SSL_do_handshake: -1
    2013/11/01 23:27:59 [debug] 16494#0: *240 SSL_get_error: 2
    2013/11/01 23:27:59 [debug] 16494#0: *240 reusable connection: 0
    2013/11/01 23:27:59 [debug] 16494#0: *240 SSL handshake handler: 0
    2013/11/01 23:27:59 [debug] 16494#0: *240 SSL_do_handshake: 1
    2013/11/01 23:27:59 [debug] 16494#0: *240 SSL: TLSv1, cipher: "ECDHE-RSA-AES128-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1"
    2013/11/01 23:27:59 [debug] 16494#0: *240 reusable connection: 1

在网上搜索之后,我能想到的唯一原因是ssl重新谈判,根据一些帖子仍然不支持safari。与其他浏览器我没有看到任何问题。所以unitedwifi.com是我在我的VPN上托管的门户网站  在nginx中有没有办法禁用conf文件中的重新协商?有什么建议可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

Nginx自0.7.64或0.8.23以来不允许重新谈判。我没有在您提供的调试日志中看到任何重新协商。

http://nginx.org/en/CHANGES

Changes with nginx 0.8.23                                        11 Nov 2009

   *) Security: now SSL/TLS renegotiation is disabled.
      Thanks to Maxim Dounin.

最有可能的是,证书警告弹出与nginx无关,但与证书本身有关。