最近接手了一个java项目
偶然一个时刻 后台的导出功能突然失效了
经过查看日志定位到异常
org.apache.catalina.connector.ClientAbortException: java.io.IOException: Connection reset by peer
同时排查出该功能在本地是正常的
于是联想到正式环境使用的是nginx的反向代理
检查nginx配置 发现确实没有配置proxy_buffering
然后在反向代理的配置项中 增加配置
proxy_buffering off;
最后问题得到了解决
一般来说,下载功能不推荐直接输出流数据,一般采用生成文件后,上传到一个文件服务器,然后返回文件服务器地址提供给客户端进行下载,引以为戒!