Nginx配置所致上传大文件失败

发布于 5 天前  9 次阅读


使用Nginx上传大文件经常遇到各种失败的情况,主要由于两个方面

1.
Nginx 默认设置 "client_max_body_size" 为 1M。如果上传文件大于这个值的话,会报错,相关 HTTP 状态码为 423 ("Request Entity Too Large"). 你可以将值设为 0 以禁用此功能.

2.
如果要上传大于 4GB 的文件,默认情况下 Nginx 会把整个文件存在一个临时文件中,然后发给上游服务器,有些应用可能会出现兼容性问题等导致出错。在 Nginx 配置文件中设置以下内容能解决这个问题(以Seafile作为上游服务器为例):

   location /seafhttp {
        ... ...
        proxy_request_buffering off;
    }

Hope to be a free geek forever.