Java文件上传大文件,在windows中没有问题,在线上环境中出错解决

眉间皱痕 提交于 2020-03-18 17:30:16

3 月,跳不动了?>>>

####1.问题描述 在开发和测试环境中,使用commons-fileupload上传视频文件,几十M的文件都没有问题 在线上环境中,上传几十M文件会出现,上传到20,30%时断开,又继续上传的现象 ####2.运行环境 开发环境:Windows+Tomcat7 测试环境:Linux+Tomcat7 线上环境:Linux+Nginx+Tomcat7 ####3.解决思路 1.debug上传文件代码,发现代码没有问题 2.查看线上Tomcat运行日志发现: INFO: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Request header is too large Request header is too large-->请求头太大 3.感觉可能是线上Tomcat或Nginx问题,百度了一下,网上说需要修改Nginx的配置

###4.错误原因 Nginx默认文件上传的大小为1M,超过连接大小,连接直接断开 ###5.解决方案 设置nginx.conf的 client_max_body_size 200m; 在nginx.conf中配置: http{

            client_max_body_size 200m;
    }
然后重启Nginx,一切正常
注意:
    200m:表示运行上传文件的最大大小,可根据实际情况设置。

在此把问题记录下来,以备后患,如果大家遇到这个问题,可以尝试下这种解决方案!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!