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/

相关文章:

apache mod_rewrite 用于自动发现 url

c++ - 带有证书验证的 native C++ HTTPS REST 调用

node.js - 使用 ssl 保护来自 Node 的服务调用

vb6 - 在代码中获取错误 'User defined type not defined'

mysql 到远程服务器的连接字符串

apache - 如何使用 get 参数强制调度程序缓存 url

apache - 安装 libapache2-mod-rpaf 用于使用 nginx 作为反向代理检测 IP 时出错

vb6 - 打开 VB6 项目文件或对话框时避免出现 Microsoft Office 2000 安装提示

javascript - 检测自动网络请求

ssl - WildFly 多域和 SSL 证书