记一次访问Web服务偶尔不通问题解决过程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lingbo229/article/details/83068792

现象:我们部署的一个WEB服务,公司用户在访问过程中,时不时的遇到访问超时,访问失败等问题

定位:通过抓包工具分析,发现client在发送TCP SYN包后,Server没有回复SYN+ACK报文

问题原因:公司用户通过无线网络或者有线网络,均是NAT网络。开启tcp_tw_recycle对于服务端,同一个src ip,可能会是NAT后很多机器,这些机器timestamp递增性无可保证,服务器会拒绝非递增请求连接。。一般在服务端都建议关闭此参数

解决方法一:关闭net.ipv4.tcp_tw_recycle即可
 

vi  /etc/sysctl.conf

net.ipv4.tcp_tw_recycle = 1  改为net.ipv4.tcp_tw_recycle = 0

tcp_tw_recycle原理可参考:http://blog.sina.com.cn/s/blog_781b0c850100znjd.html

解决方法二:关闭tcp时间戳

[reader@manager-4 ~]$ cat /etc/sysctl.conf 
net.ipv4.tcp_timestamps=0   新增

[reader@manager-4 ~]$ cat /proc/sys/net/ipv4/tcp_timestamps
0

猜你喜欢

转载自blog.csdn.net/lingbo229/article/details/83068792