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

Jef*_*cia 5 apache vb6 ssl winhttp

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

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

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

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

不过以下场景我们是可以连接成功的

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

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

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

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

ron*_*dy1 1

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

您可以检查返回的 Cipher-Suite 在它起作用的情况下(当您使用 Windows10 时)是什么,然后研究如何在 Windows7 中启用此 Cipher-Suite