nginxエラーが発生しています:
413 Request Entity Too Large
client_max_body_size
nginx.confファイルのサーバーセクションを20Mに更新できましたが、これで問題が修正されました。ただし、デフォルトのnginxはclient_max_body_size
何ですか?
回答:
client_max_body_size
ディレクティブのデフォルト値は1MiBです。
それはで設定することができhttp
、server
かつlocation
コンテキストが-のように、ほとんどの場合、このネストされたブロック内のディレクティブは、先祖ブロック内の同じディレクティブよりも優先されます。
ngx_http_core_moduleドキュメントからの抜粋:
Syntax: client_max_body_size size; Default: client_max_body_size 1m; Context: http, server, location
「Content-Length」リクエストヘッダーフィールドで指定された、クライアントリクエストボディの最大許容サイズを設定します。リクエストのサイズが設定された値を超えると、413(Request Entity Too Large)エラーがクライアントに返されます。ブラウザはこのエラーを正しく表示できないことに注意してください。サイズを0に設定すると、クライアントリクエストの本文サイズのチェックが無効になります。
ことを忘れてはいけないコンフィギュレーションをリロードする
ことにより、nginx -s reload
またはservice nginx reload
で先頭に追加コマンドsudo
(もしあれば)。
nginx -s reload
も、構文的に正しくない構成は適用されませんが、エラーが報告されます。
off_t
タイプサイズによって異なります(を参照ngx_http_core_module.h
)。64ビットの実行可能off_t
サイズの場合は64ビットであり、最大値は2 ^ 63バイトである必要があります。
nginx構成ファイルのボディサイズを次のように増やすことができます
sudo nano /etc/nginx/nginx.conf
client_max_body_size 100M;
nginxを再起動して変更を適用します。
sudo service nginx restart
nginx -t
に実行nginx -s reload
する前に、を使用して構成をテストする必要があることに注意してください。構成が正しいことを保証することはできませんが、構文エラーや無効な値をキャッチします。