最近用户调用我们服务接口偶报Connection reset,查看nginx会报recv() failed (104: Connection reset by peer) while sending to client、但是这个看上去对用户的影响并不大。针对这个错误,我们进行抓包分析,发现四次挥手、客户端并没有正常发送FIN数据包、而是发送了RST包,
抓包如下:
官方提供的接口代码、进行了压力测试、并未复现您说connect reset、请求成功。我们也进行了抓包分析、抓包如下:
于是我们分析了客户提供htttpclient片段
我们猜测是客户端连接关闭,造成发送RST数据包。httpclient版本比较多,我们这边升级了httpclient包4.5.12 代码稍微调整下后抓包正常