BOS运行时-外部请求-远程主机强迫关闭了一个现有连接原创
金蝶云社区-Howhy
Howhy
54人赞赏了该文章 464次浏览 未经作者许可,禁止转载编辑于2023年10月18日 11:34:19

有时候,在星空请求外部地址服务时,会提示一个错误-远程主机强迫关闭了一个现有连接,这类问题一般是环境问题,可以参考以下步骤进行排查;

  1. 如果是公有云环境,首先检查是否在公有云上申请了白名单,非白名单的地址会被公有云防火墙拦截;

  2. 如果是私有云环境,检查在服务器上是否可以正常访问对方的服务地址;

  3. 如果可以正常访问,但是程序调用仍然报错,需要使用抓包工具(如fiddler)进行抓包,检查http返回的状态码及详细的错误,进行下一步分析;


1.如果以上分析步骤都没有检查出原因,那么可能是代码问题,如果是https地址访问,需要检查请求设置的协议,具体参数可以参考以下代码:

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072 | SecurityProtocolType.Ssl3 | (SecurityProtocolType)768 | (SecurityProtocolType)192;


2.如果设置协议仍然存在错误,一般是首次请求正常,后续出现偶发异常,可以设置下以下代码

ServicePointManager.Expect100Continue=false

3.另外需要完善调用端的日志,记录关键代码请求的url、数据等信息,然后捕获异常,记录具体的哪一行代码报错,然后记录日志,提供相关人员分析定位。


赞 54