Nginx上传大文件超时解决办法
Nginx上传大文件超时解决办法
情况如下:使用nginx作为代理服务器时,上传大文件时(我测试过50m上传的文件),会提示上传超时或文件过大。
原因是nginx对上传文件的大小有限制,默认是1M。另外,如果文件很大,你应该调整上传超时。
解决方法是在nginx配置文件中加入如下配置:
client_max_body_size 50m; // File size limit, default 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等待处理结果,即容器返回的响应。该参数为服务器响应时间,默认为 60 秒。
proxy_send_timeout
当服务器处理http请求时,将数据发送回Nginx的默认时间为60秒。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接