Nginx 上傳大型檔案,在網路上查到的,基本上就是修改「client_max_body_size」:
client_max_body_size 100m; # 限制上傳大小為 100MB
也可以改成無限制:
client_max_body_size 0;
但要注意的是,若 Nginx 在主機上是當作 reverse proxy 使用時,Nginx 收到檔案預設是先暫存在自己的主機上面,等到資料接收完畢後再一起丟到 server。
當檔案丟到 server 時,超過預設的「client_body_timeout」的 60 秒,就會視為失敗。因此遇到抄道行檔案,使 Nginx 將資料傳至 server 時間比預期的還要長 (不是 local network 等) 時,記得要將「client_body_timeout」延長:
client_body_timeout 300s