(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Nginx】413 Request Entity Too Largeというエラーの解消法

スポンサーリンク

事象

Nginxをプロキシサーバとして利用している環境でファイルをアップロードするも画面に

413 Request Entity Too Large

と表示され、Nginxのログでも

[error] ...: *62620 client intended to send too large body: 90078152 bytes, client: xx, server: localhost, request: "POST /xx HTTP/1.1", host: "xx", referrer: ".."

と出力されている。

原因/解決策

設定ファイルにclient_max_body_sizeの記載がない場合はデフォルトの1MBで制限超過してしまう。

よって/etc/nginx/proxy.confに以下の文言を追記することで

server {
...
    client_max_body_size 10M;
...
    }

同エラーは解消した。

以下、補足です。

補足

nginx側のログを見ると以下のようなPOSTのアクセスと同時刻に

xx - - [...] "POST ... HTTP/1.1" 413 578 "xx" " Mozilla/4.x..." "xx,xx" 0.003

冒頭のエラーが出力されていました。

よって送付を試みる前にチェックに引っかかっているように見られました。

また、この手の制限抵触によるエラーとしてタイムアウト時間というののもあり、defaultは60秒なのでこちらは同じく

proxy_read_timeout 120;
proxy_connect_timeout 120;
proxy_send_timeout 120;

大きめの値を設定しないとファイルサイズ以外のところでエラーとなる可能性があります。

以上です。