Java文件下载|导出时报 java.io.IOException: Connection reset by peer解决

6 篇文章 0 订阅
5 篇文章 0 订阅

错误描述:

今天遇到一个Excel导出报 java.io.IOException: Connection reset by peer 这个问题。
首先是因为把代码部署到了测试服务器,然后测试导出Excel就出现了异常。
但是之前本地测试都没毛病,为何一到线上就出问题了呢?
其实是因为测试服务器上有做Nginx转发,但是有个Nginx属性我没配置,所以出现了问题。

解决如下:

了解到 nginx.conf 配置中有一个文件缓冲区大小的配置 proxy_buffer_size 默认大小是512KB,我的Excel文件大小是300KB,然后Tomcat的http请求超出了Nginx的缓冲区大小,所以被强制reset了就导致了这个错误。

当然导致这个错误的原因还有许多,我所描述的只是我所遇到的。

接下来就是配置nginx.conf 解决问题。

我找到原因后立马测试因为是测试服务器所以直接给 proxy_buffering 这个配置给设置成 off 一测试,果然可以了。

server
{
    listen 80;
    server_name www.xxx.com;
    proxy_buffering on;			// 开启文件缓冲(默认)
    proxy_buffer_size 2048k;	// Nginx使用该大小申请read_buf
    proxy_buffers 2 2048k;		// buffer个数 和 每个buffer大小。
    proxy_busy_buffers_size 4k;
    proxy_temp_path /tmp/nginx_proxy_tmp 1 2;
    proxy_max_temp_file_size 20M;
    proxy_temp_file_write_size 8k;
    
    location /
    {
        proxy_pass      http://192.168.10.110:8080/;
        proxy_set_header Host   $host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

关于此配置详解请参考:https://www.cnblogs.com/wshenjin/p/11608744.html

当然在百度寻找问题时,也发现了其他可能导致的原因,这里列出来,但是没有测试,各位做个参考吧。

1.Tomcat的原因报出此错误:https://blog.csdn.net/lafengwnagzi/article/details/72846195
2.SpringMvc原因报出此错误 - - (这个链接找不到了,记得是因为 DispatchServlet 会拦截需要配置sping的文件上传大小)。

参考链接:https://www.cnblogs.com/FlyAway2013/p/10580594.html

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值