Select Page

突破 Nginx proxy_pass 上傳檔案大小的限制

Nginx 配置中的 client_max_body_size 參數會限制通過 HTTP 或 HTTPS 請求傳輸的最大消息體積。這個參數對所有客戶端請求體的大小都有影響,包括由 proxy_pass 轉發的文件上傳。

如果 client_max_body_size 沒有在 Nginx 配置中明確設定,則默認值通常是 1MB,這可能導致大於 1MB 的文件上傳失敗。若要允許更大的文件上傳,你需要在 Nginx 的 serverhttp 上下文中增加這個指令並設置一個足夠的值,

例如:

http {
    ...
    client_max_body_size 100M;
    ...
}

或者在特定的 serverlocation 區塊中設定:

server {
    ...
    client_max_body_size 100M;
    ...
}

修改後,記得重新載入或重啟 Nginx 使設定生效:

sudo nginx -t
sudo nginx -s reload
sudo systemctl restart nginx

這樣就可以讓使用者上傳超過1MB的檔案了