当前位置 主页 > 服务器问题 > nginx问题汇总 >

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

    栏目:nginx问题汇总 时间:2018-12-19 10:30

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