nginx代理proxy后端(如tomcat或php-fpm)请求流量大后出现Connection reset by peer解决办法

2021-04-27 1785点热度 0人点赞 0条评论

问题描述

今天Tomcat上的一个API接口(是返回较大的图片,流量较大)客户端请求报错,如下错误:

org.apache.catalina.connector.ClientAbortException: java.io.IOException: Connection reset by peer

Caused by: java.io.IOException: Connection reset by peer

问题解决

经检查程序上没有任何问题,重启tomcat也无法解决,发现是Tomcat前端套用的Nginx默认有关proxy buffer 缓存的配置问题。

修改nginx配置文件:

server {
    listen       80;

    # 其他设置省略

    # 加上proxy buffer设置
    proxy_buffer_size 128k;
    # 网页内容缓冲区个数为4,单个大小为128k 
    proxy_buffers   4 128k;
    proxy_busy_buffers_size 256k;
    proxy_temp_file_write_size 256k;
}

重启了nginx后,问题解决!

所以上述Connection reset by peer, 应该是 Tomcat 的http 连接 超出了nginx proxy buffer 的大小限制 被强行 reset, 因而出现加载失败!

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论