介紹如何解決 Nginx 網頁伺服器出現 client intended to send too large body 的錯誤。
如果 Nginx 伺服器出現了 client intended to send too large body 的錯誤,代表使用者(client)送出的請求內容大小(標示於標頭的 Content-Length
欄位)超過 Nginx 伺服器 client_max_body_size
設定的上限值(預設值為 1 MB)。當出現這個錯誤時,Nginx 會回應 413(Request Entity Too Large)的錯誤代碼給使用者的瀏覽器。
若要解決這個問題,可以編輯 Nginx 伺服器的設定檔(例如 /etc/nginx/nginx.conf
),調整這個設定值:
http { # ... # 設定請求內容大小上限值為 10MB client_max_body_size 10m; # ... }
client_max_body_size
這個設定項目可以放在 http
、server
或 location
三種區塊中。
如果想要讓請求內容大小沒有限制,可以直接將 client_max_body_size
的值設定為 0
:
http { # ... # 設定請求內容大小無限制 client_max_body_size 0; # ... }
除了這個 Nginx 伺服器的設定之外,PHP 的 post_max_size
與 upload_max_filesize
設定也會跟 413(Request Entity Too Large)錯誤代碼有關係,除錯時可以一併檢查。
參考資料:Nginx