apache - 客户端问候后 SSL 握手失败服务器 [FIN, ACK]

标签 apache ssl vb6 winhttp

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

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

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

客户端问候和服务器 [FIN, ACK] [![客户你好][1]][1] [1]: /image/btXyX.jpg [![在此处输入图片描述][2]][2] [2]: /image/O5WDq.jpg

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

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

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

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

请注意,我们知道我们正在为此连接使用 TLS1 协议(protocol),但此应用程序仅供内部使用,其替代品已在开发中。但是,业务需要让这项工作适用于当前环境。

最佳答案

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

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

关于apache - 客户端问候后 SSL 握手失败服务器 [FIN, ACK],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43892883/

相关文章:

php - htaccess : different rewrite rules for different ip addresses

ssl - 无法将 Heroku 连接到自定义 Google 域

c# - 从 Access 数据库中存储的 VB6 PropertyBag 获取数据

vb.net - 需要从 DCOM 配置中删除对象 (DCOMCNFG)

apache - 为什么当 session.cookie_lifetime=0 时 session 不会在浏览器关闭时过期?

Python + Django 在 apache2 (httpd)、Redhat 上的不同用户下运行

apache - 安装apache : no VCRUNTIME140. dll

java - 如何强制使用 Diffie Hellman Key Exchange

android - 由于某些 ssl 证书问题,媒体使用签名的 url interup 上传到云?

com - 为什么公共(public)字段和属性可以互换二进制兼容?