今天,一同事遇到个古怪的问题,开放平台的客户说,调我们开放接口,总是报如下错误。
报错的异常信息:java.net.SocketException: Software caused connection abort: recv failed
在他本机调用是没问题的,但部署到服务器就是调不了。
导致这个异常出现的根本原因可能有多个,网上找了一圈,大多数都说:
在服务端/客户端单方面关闭连接的情况下,另一方依然以为 tcp连接仍然建立,试图读取对方的响应数据,导致出现 Software caused connection abort: recv failed的异常.
于是乎猜测了一堆可能造成的原因后,最终找到原因,是防火墙的原因。
特此记录一下。