关于这个问题有很多问题,但没有一个能够专门解决我的问题,我还没有找到错误本身的任何有效解释:
The underlying connection was closed: The connection was closed unexpectedly
在我们的情况下,我们通过SSL拨打第三方API。在我的本地PC上,我可以连接到该API发出请求并获得响应,但在IIS生产服务器上,我收到此错误。 API正在使用OAuth进行身份验证。
究竟是什么意思。请求是否离开我们的服务器并被远程服务器拒绝,或者它是否甚至没有离开我们的服务器,我们的系统阻止它发出请求。
如果有更多信息,任何人都可能知道问题所在:
对任何网络,服务器,路由,安全性(显然)没有任何已知更改 最近没有代码更改
根据我们自己的内部记录,问题始于一个ocassional 403 Error-Forbidden
,然后我们看到了一些Cannot Connect to Remote Server
。最终它失败了The underlying connection was closed: The connection was closed unexpectedly.
有人可以解释实际错误的含义吗?如果有人在类似的情况下经历过这种情况并且可以解决一些问题,那将非常感激。
答案 0 :(得分:2)
基础连接已关闭:连接意外关闭
这只是说,(可能是远程端)关闭了作为SSL连接基础的TCP连接。通常应该在SSL相关错误上发回SSL警报,但是一些堆栈会关闭连接。也可能是对等体根本不期望SSL,因此由于数据无效而关闭连接。
在我的本地PC上,我可以连接到该API发出请求并获得响应,但在IIS Production服务器上,我收到此错误。
很难说问题可能是什么,但如果这不仅是同一个API而且是同一个服务器,那么问题必然与客户端的差异有关。这可以是密码,TLS版本,客户端证书等的支持,这些可以在机器之间不同。如果这甚至不是同一台服务器,则应通过联系非工作服务器与工作客户端来确保问题与服务器无关。 一个好主意也是制作TCP转储(wireshark)并比较握手。
只有在您提供有关问题的更多详细信息时才能进行更详细的问题分析,请参阅http://noxxi.de/howto/ssl-debugging.html#hdr2.2了解可能有用的信息。