当前位置: 首页 > 知识库问答 >
问题:

如何跟踪“SSL握手期间的连接超时”和“SSL握手期间的连接关闭”错误

东方华晖
2023-03-14

我最近从AWS ELB转到HAProxy。我正在负载平衡器(HAProxy 1.5dev19)上终止SSL。

自从切换以来,我一直在HAProxy日志中遇到一些SSL连接错误(占请求总数的5-10%)。有三种类型的错误重复:SSL握手期间连接关闭SSL握手期间超时SSL握手失败(这种情况很少发生)

我使用的是免费的StartSSL证书,所以我的第一个想法是一些主机在接受该证书时遇到了问题,我过去没有看到这些错误,因为ELB不提供日志记录。唯一的问题是,某些主机最终确实有成功的连接。

我可以连接到服务器而没有任何错误,因此我不确定如何在我的端复制这些错误。

共有3个答案

荣波
2023-03-14

你的haproxssl前端是如何配置的?

例如,我使用以下方法来缓解BEAST攻击:bind X.X.X:443 ssl crt/etc/haproxy/ssl/XXXX。pem no-sslv3密码RC4-SHA:AES128-SHA:AES256-SHA

但有些客户端似乎会生成相同的“SSL握手失败”错误。我想这是因为配置太严格了。

卢雅惠
2023-03-14

我也有过这样的经历。首先出现了以下问题SSL握手失败,然后在关闭option dontlognull之后,我们在haproxy日志中还获得了SSL握手期间的超时。

首先,我确保所有的默认值超时都是正确的。

timeout connect 30s
timeout client  30s
timeout server  60s

不幸的是,问题出现在前端部分

有一行代码timeout client 60,我认为它的意思是60ms,而不是60s

似乎某些客户端连接缓慢,在SSL握手期间被踢出。检查您的前端是否有客户端超时。

华泽语
2023-03-14

这听起来像是握手(TCP RST或超时)中途离开的客户端。这在某种程度上是正常的,但是5-10%听起来太高了。这可能是证书问题;我不确定这到底是怎么回事

发生在我身上的事情:

  • 如果谈判非常缓慢,你会有更多的客户离开。
  • 您可能有潜在的TCP问题,直到您的新SSLendpoint代理开始报告这些问题,您才意识到这些问题。

你看到个别主持人有时成功,有时失败吗?如果是这样,这不太可能是证书问题。我不确定当用户拒绝不受信任的证书时,连接是如何被拆除的。

您可以在HAProxy机器上使用Wireshark捕获SSL握手并解析它们(您不需要解密会话进行握手分析,尽管您可以,因为您有服务器私钥)。

 类似资料:
  • 堆栈:React,NGINX 1.14.0,GUnicorn,Django 2.2.8,Python 3.6.9 错误: 在浏览器:当React调用Django API(当然在请求头中有)时,大约30秒后在浏览器控制台出现CORS错误。 在浏览器控制台:CORS策略阻止从源“https://mydomain”访问“https://mydomain:8000/somethy/”处的XMLHttpRe

  • 问题内容: 有几个与此类似的问题,但没有一个解决这个特定的问题。如果有一个我错过了,请引导我找到相关的解决方案。 现在是我的问题。我用Java编写了一个测试SSL服务器: 我这样创建了密钥库: 当出现提示时,我将localhost作为键名。 然后编译(我使用的是Sun / Oracle JDK和JRE版本1.6.0_26): 然后我运行: 然后,我通过导航到https:// localhost:8

  • 论坛上充斥着这个问题,但我找不到解决办法。我尝试连接WS,但没有成功。我试图更新cacerts文件,但没有效果。 日志是: 谢谢你的帮助

  • 我试图连接到一个办公室365邮箱通过IMAP协议通过javamail API读取电子邮件从我的java应用程序 当连接时,它会抛出此 下面是我正在使用的代码 我不明白问题是什么,无论如何可以建议问题是什么。

  • 99.110.244:443 2017/09/28 13:03:51[错误]34080#34080:*1062 SSL握手中的对等方关闭连接(104:由对等方重置连接),同时与上游进行SSL握手,客户端:10.210.0.81,服务器:webshop.domain.be,请求:“get/http/1.1”,上游:“https://10.1.10.61:443/,主机:”webshop.domain

  • 每个人我需要使用服务器和客户端证书连接到服务器。我正在使用以下代码:(移植形式的android) 我已为ssl和握手启用调试属性,并获得以下输出: 我得到这个错误在Android设备和桌面java。但是我可以使用这个客户端证书自由地用网络浏览器连接到服务器。 也许这是重要的或不Url的服务器是:https://icon.sbrf.ru:9443(注意端口)也客户端证书是与西里尔名称(我不知道是这件