有关 java.io.IOException: Connection reset by peer 解决问题方法之一
有关 java.io.IOException: Connection reset by peer 解决问题方法之一
·
有很多大佬已经终结出现这个错误的原因有一下几种
1. 服务器在接受处理用户请求时,自身的cpu、io、内存、线程等资源都是有最大限制的。当并发请求超过服务器的承载量时,服务器会停掉一些请求。(但是要注意如果实际的并发数量没有超过服务器的承载量,可能中了木马病毒问题导致的。这个时候需要分析了)。
2. 客户端关闭了浏览器,但是服务端还是继续发送数据。
3. 浏览器端按了Stop。(ps:有的文档说浏览器弹框阻止也类似stop情况,本人没有亲自测试。可以参考:这篇文章 https://www.cnblogs.com/panxuejun/p/7160148.html)。
上面两种都是客户端造成的,但是因为服务端在进行读写,依然会记录日志的,如果频繁发生,也会造成困扰。可以区分日志进行捕获,少量记录。(一般来说则上面3中情况出现的频率很低)
4. 防火墙/nginx影响了。
一种是他们都设置了超时机制,超过了会关闭这个TCP会话。这个可以通过重新定义心跳机制,进行会话维护。
一种是设置防高频策略。我的就是这种情况。防火墙DDos攻击常见防御方法
我的问题就是出在 4 上 ,nginx配置
nginx的buffer太小,timeout太小
调整nginx配置
proxy_connect_timeout 900;
proxy_read_timeout 6000;
proxy_send_timeout 6000;
proxy_buffer_size 10k;
proxy_buffers 256 10k;
proxy_busy_buffers_size 64k;
client_max_body_size 60m;
client_body_buffer_size 256k;
调节到合适时间即可
更全面详细的 或者还是满足不了的可以看 这个大佬的博客
更多推荐
已为社区贡献8条内容
所有评论(0)