【发布时间】:2019-03-22 15:22:29
【问题描述】:
我有一个 django-python 服务器,它带有一个使用 winhttp 和 REST API 连接的 VBA 前端。因此,在这种情况下,发送和接收的请求由我们控制并由我们自行确定。
不久前,当我们的服务器从 SSL 更新到 TLS 时,我们有很多用户在使用 VBA Winhttp 和 REST API 时面临“连接异常终止”错误。我们使用现有的微软文章更新了Windows 7上用户的机器,问题得到了解决。最近,我遇到了一些相同错误的案例,其中补丁/更新之前已应用,或者其应用程序没有解决问题。
我在我们的服务器日志上根本看不到他们的传入流量(有些正在使用代理服务器),但甚至代理服务器 ip 也不存在。
我正在尝试找出在哪里查看或其他可能导致此问题的原因,以便我可以追踪它。任何想法/建议表示赞赏。
来源:Update to enable TLS 1.1 and TLS 1.2 as default secure protocols in WinHTTP in Windows
【问题讨论】:
-
您是否也手动更改了注册表项?还是您只使用网站上的快速修复?
-
这些用户是远程用户且不精通技术,因此用户注册表中没有任何内容,只有快速修复。在许多情况下,快速修复就足够了,而且其中一位有问题的用户之前也有过快速修复并且工作正常。
-
您还必须更改注册表项值。 quickfix 只会创建它们,但并不总是具有正确的默认值。由于我们使用 winhttp 并且最近决定只允许 TLS 1.2,因此我们最近处理了很多此问题。
-
我明白了,很高兴知道。如果我使用 hreq.Option(WinHttpRequestOption_SecureProtocols) = 512 或 2048 从前端 VBA 代码中设置它怎么样?如果它不正确,是否可以绕过注册默认值?我知道只有在应用补丁和快速更新时才定义 512/2048。所以我可能需要做一些错误处理。