【问题标题】:Explanation: The underlying connection was closed: The connection was closed unexpectedly说明:底层连接被关闭:连接被意外关闭
【发布时间】:2014-12-30 15:33:33
【问题描述】:

关于这个问题有很多问题,但没有一个能够专门解决我的问题,我还没有找到任何对错误本身的有效解释:

The underlying connection was closed: The connection was closed unexpectedly

在我们的情况下,我们通过 SSL 调用第 3 方 API。在我的本地 PC 上,我可以连接到该 API 发出请求并获得响应,但在 IIS 生产服务器上我收到此错误。 API 正在使用 OAuth 进行身份验证。

这到底是什么意思。请求是否离开我们的服务器并被远程服务器拒绝,或者它甚至没有离开我们的服务器并且我们的系统阻止它发出请求。

如果有人可能知道问题所在,请提供更多信息:

没有任何网络、服务器、路由、安全性的已知变化(显然) 最近没有代码更改

根据我们自己的内部日志,该问题最初是偶尔出现的403 Error-Forbidden,然后我们看到了一些Cannot Connect to Remote Server。最终它失败了The underlying connection was closed: The connection was closed unexpectedly.

有人可以解释一下实际的错误是什么意思吗?如果有人在类似的情况下经历过这种情况并且可以提供一些启示,那将不胜感激。

【问题讨论】:

    标签: web-services ssl httprequest httpresponse http-status-code-403


    【解决方案1】:

    底层连接已关闭:连接意外关闭

    这只是说,(可能是远程端)关闭了作为 SSL 连接基础的 TCP 连接。通常应在 SSL 相关错误时发回 SSL 警报,但某些堆栈会关闭连接。也可能是对端根本不期望 SSL,因此由于数据无效而关闭了连接。

    在我的本地 PC 上,我可以连接到该 API 发出请求并获得响应,但在 IIS 生产服务器上我收到此错误。

    很难说可能是什么问题,但如果这不仅是同一个API,而且是同一个服务器,那么问题一定与客户端的差异有关。这可以在机器之间不同的密码、TLS 版本、客户端证书等中得到支持。如果这甚至不是同一台服务器,您应该通过将非工作服务器与工作客户端联系来确保问题与服务器无关。 一个好主意也是进行 TCP 转储 (wireshark) 并比较握手。

    只有在您提供有关问题的更多详细信息时,才能进行更详细的问题分析,请参阅http://noxxi.de/howto/ssl-debugging.html#hdr2.2 了解可能有用的信息。

    【讨论】:

    • 我确信 API 需要 SSL。区别在于网络。在我的本地,我可以访问 API,因为我使用不同的网络进行连接。在我的工作网络或 IIS 网站上发生错误。当然,网络安全人员指出我们说不是他们。这就是为什么我试图弄清楚它是在它熄灭之前被关闭还是远程服务器阻止它。
    • @logixologist:抓包并分析差异。如果您没有看到差异,请将捕获的公共分析发布到 cloudshark.org。如果您确定问题出在网络上,请通过使用工作客户端与工作服务器但在不同的网络中来证明它。
    • 原来远程主机实际上正在关闭连接。感谢您协助回答真正的问题。
    猜你喜欢
    • 2010-09-22
    • 2012-04-26
    • 2013-05-31
    • 1970-01-01
    相关资源
    最近更新 更多