最近接手一个接口开发需求,http长连接,报文格式json ,接口示例111 222 333 255:12345/example/abc
本地用postman组装请求报文,调起第三方接口,正常返回响应信息。
借用其他同事的电脑(windows)内、外网去发请求,同样发的通,nginx正常。
问题:
部署到线上linux服务器(三台不同服务器),使用httpClient工具类再调起同样接口,提示连接被重置,java.net.SocketException:Connection reset
但是ping、telnet、nc测连通性都正常,使用wget命令,开始正常,测试3次后开始报错【HTTP request sent,awaiting response... Read error (Connection reset by peer) in headers.】,重试无响应。
接口提供方反馈,无白名单、防火墙等限制,且未收到请求。但讲道理,请求应该是已经发出去了。
请教各位,这可能是什么原因导致的呢?
(后续换了接口地址,接口调用成功已上线。但该问题一直没想通)
可能是云服务器管理中心没有开放端口,或者是服务端没有配置跨域处理。
估计是一直调用了同一个连接通道,服务端直接把连接重置了。可以调用完毕后没有关闭请求,或者监控这个异常,出现后重新连接后再处理