2014-12-05 343 views
4

我得到我的服务器日志以下错误:Nginx的SSL握手错误

[crit] 915#0: *46701 SSL_do_handshake() failed (SSL: error:140A1175:SSL routines:SSL_BYTES_TO_CIPHER_LIST:inappropriate fallback) while SSL handshaking, client: 187.50.199.66, server: 0.0.0.0:443

是什么意思?我该如何解决它?

请帮帮我。

+0

我看到了类似的错误在某个时候与我的Nginx的过去。那一次,将NginX升级到最新版本帮助解决了这个问题。可能是你应该尝试升级NginX到最新版本可用。 – slayedbylucifer 2014-12-05 04:14:47

+0

我更新了它..但问题仍然存在.. – 2014-12-05 09:05:15

+1

错误消息被添加到openssl的此提交中:https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff;h=cf6da05304d554aaa885151451aa4ecaa977e601哪似乎与至少一些浏览器不兼容。 – citrin 2014-12-18 05:51:37

回答

2

看起来,因为它与security bug in OpenSSL连接。这与您的nginx配置无关。这只是表明你的服务器有客户端,它无法正确处理SSL握手。

什么是SSL握手?

基本上它是在每个会话的开始时在客户端和服务器之间交换一些消息。它包括6个阶段:

  1. 客户您好
  2. 服务器Hello
  3. 认证和预备主密钥
  4. 解密和主密钥
  5. 生成会话密钥
  6. 加密与会话密钥

阅读更多信息http://www.symantec.com/connect/blogs/how-does-ssl-work-what-ssl-handshake

总结 - 你的服务器提出这个警告,指出某个客户端(不)有意打破这个过程(例如,过早结束连接,或试图在一个会话中多次打开它。

如何解决?

如果你真的想摆脱这个消息的(但不推荐),你可以改变你的9英寸文件nginx.conf错误日志记录的级别),喜欢的东西:

error_log logs/error.log alert; 

*可用水平:调试| info |通知|警告|错误|暴击|警报| EMERG

http://nginx.org/en/docs/ngx_core_module.html#error_log