Nginx 上传大文件超大超时解决办法

问题:用nginx作代理服务器,上传大文件时(本人上传8M左右的文件),提示上传超时或文件过大。

浏览器调试报413 (Request Entity Too Large)错误,如下图所示

Nginx 上传大文件超大超时解决办法_第1张图片

原因是nginx对上传文件大小有限制,而且默认是1M。另外,若上传文件很大,还要适当调整上传超时时间。

 

解决方法:在nginx的配置文件下(找到你的nginx文件/conf/nginx.conf),加上以下配置:

client_max_body_size     50m; //文件大小限制,默认1m
client_header_timeout    1m;
client_body_timeout      1m;
proxy_connect_timeout     60s;
proxy_read_timeout      1m;
proxy_send_timeout      1m;

每个参数的意思:

client_max_body_size

限制请求体的大小,若超过所设定的大小,返回413错误。

client_header_timeout

读取请求头的超时时间,若超过所设定的大小,返回408错误。

client_body_timeout

读取请求实体的超时时间,若超过所设定的大小,返回413错误。

proxy_connect_timeout

http请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认为60秒,官方推荐最长不要超过75秒。

proxy_read_timeout

http请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。此参数即为服务器响应时间,默认60秒。

proxy_send_timeout

http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒。

-----------------------------------------------------------------------------------------------------

注意:以上参数必须要放在server下的server_name下,而不是放在localhost /web的大括号里,然后别忘了重启nginx

 

项目中破解上传文件限制1Mb的限制更多请查看我的另外一篇文章(针对springboot的)https://blog.csdn.net/weixin_38306434/article/details/89633328

 

你可能感兴趣的:(技巧分享,开发实践)