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

xiaohai 2019-02-25 14:47:40 3098人围观 标签: Nginx 
简介主要介绍了Nginx 上传大文件超时解决办法的相关资料,这里上传文件并设置nginx的配置文件防止超时的情况

情况如下:用nginx作代理服务器,上传大文件时(本人测试上传15m的文件),提示上传超时或文件过大。
原因是nginx对上传文件大小有限制,而且默认是1M。另外,若上传文件很大,还要适当调整上传超时时间。
解决方法是在nginx的配置文件下,加上以下配置:

client_max_body_size 50m; 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秒