admin管理员组文章数量:1618718
问题场景:
在应用服务器上搭好环境,服务跑起来后,向目标服务器发送报文时,报文中会有报错:Connection reset by peer
telnet 目标服务器ip+端口 显示是通的
解决方式:
traceroute 命令查看本机发出的报文到目标服务器中间转了几次
curl -v ip:端口
ulimit -a 查看句柄数,如果是1024,那么在系统高并发高时有可能发出的报文被对方reset,这种情况可以修改句柄数102400
也可以使用以下命令,然后查看输出文本中信息具体分析:
curl --trace output.txt http://www.baidu
curl --trace-ascii output2.txt http://www.baidu
curl --trace output3.txt --trace-time http://www.baidu
curl --trace-ascii output4.txt --trace-time http://www.baidu
curl --trace output.txt ip:端口
curl --trace-ascii output2.txt ip:端口
curl --trace output3.txt --trace-time ip:端口
curl --trace-ascii output4.txt --trace-time ip:端口
我的情况,经过以上操作后,发现我和目标服务器是直连,中间并无代理或者转发,我的服务器上防火墙是关闭的。我用curl命令测试之后,发现输出文档中返回的内容是curl: (56) Recv failure: Connection reset by peer,经过与目标服务器所属人沟通,发现是我报文头以及curl命令发送到目标服务器的内容,不符合目标服务器接收报文的规范,所以被拒收,并且返回curl: (56) Recv failure: Connection reset by peer 。由此我定位到问题是我报文头的问题,我服务器与对方服务器通讯的端口(curl命令中的端口)是对方服务所占用的端口,而对方服务设置了拒收不规范报文,所以通讯时会报错。如果我curl命令中端口是对方服务器上已开通但无服务站用的端口,大概率不会报错。
本文标签: RecvcurlfailurepeerReset
版权声明:本文标题:curl: (56) Recv failure: Connection reset by peer 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1728783573a1173035.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论