事象
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;
大きめの値を設定しないとファイルサイズ以外のところでエラーとなる可能性があります。
以上です。