客户端 Hello 后 SSL 握手失败服务器 [FIN, ACK]

Posted

技术标签:

【中文标题】客户端 Hello 后 SSL 握手失败服务器 [FIN, ACK]【英文标题】:SSL handshake failure Server [FIN, ACK] after Client Hello 【发布时间】:2017-10-09 03:01:51 【问题描述】:

我们公司目前有一个用 VB6 创建的应用程序,在 Windows 7 台式计算机上运行。此应用程序需要使用 HTTPS 连接到 Web 服务。

由于某种原因,此应用程序无法连接到目标服务器。目标服务器位于同时充当负载平衡器的 Apache Web 服务器后面。

我通过 Wire Shark 跟踪了连接,似乎在 Client Hello 之后服务器响应 [FIN, ACK] 而不是 Server Hello。谁能告诉我是什么问题。

客户端问候和服务器 [FIN, ACK] [![客户您好][1]][1] [1]:https://i.stack.imgur.com/btXyX.jpg [![在此处输入图像描述][2]][2] [2]:https://i.stack.imgur.com/O5WDq.jpg

但是,我们可以在以下场景中连接成功

    如果我们在 Windows 10 下使用相同的应用程序。请注意,在使用 Windows 10 时,我们的 SSL 版本是 TLS1.2。 如果应用程序直接连接到应用程序服务器而不是 Apache Web 服务器。在这种情况下,我们的 SSL 协议仍然是 TLS1.0

我猜我们需要配置 Web 服务器以允许我们的应用程序连接。我们的管理员告诉我们他们已经激活了 TLS1.0 协议,所以我现在不完全确定出了什么问题。

为什么服务器关闭了连接,或者我应该检查日志或 Web 服务器配置的哪一部分以找出答案?

请注意,我们知道我们正在使用 TLS1 协议进行此连接,但此应用程序仅供内部使用,其替代品已在开发中。但是,在当前环境下,有业务需要让它发挥作用。

【问题讨论】:

您找到任何相关信息吗? 【参考方案1】:

如果服务器不支持“Client Hello”数据包中建议的任何密码套件,它可能只是关闭连接。

您可以检查返回的 Cipher-Suite 是否有效(当您使用 Windows10 时),然后研究如何在 Windows7 中启用此 Cipher-Suite

【讨论】:

以上是关于客户端 Hello 后 SSL 握手失败服务器 [FIN, ACK]的主要内容,如果未能解决你的问题,请参考以下文章

ClientHello 后 SSL 握手失败

调用 fork 后 gRPC 服务器中的 SSL 握手失败

无效session ticket导致的SSL握手协商失败

如何解决错误 SSL23_GET_SERVER_HELLO:sslv3 警报握手失败

另一个 Paypal Curl / SSL v3 握手错误 - SSL23_GET_SERVER_HELLO:sslv3 警报握手失败

错误:错误:14077410:SSL 例程:SSL23_GET_SERVER_HELLO:sslv3 警报握手失败