デフォルトのnginxclient_max_body_size


94

nginxエラーが発生しています:

413 Request Entity Too Large

client_max_body_sizenginx.confファイルのサーバーセクションを20Mに更新できましたが、これで問題が修正されました。ただし、デフォルトのnginxはclient_max_body_size何ですか?

回答:


137

client_max_body_sizeディレクティブのデフォルト値は1MiBです。

それはで設定することができhttpserverかつ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(もしあれば)。


2
構成の変更を適用するためnginx -tに実行nginx -s reloadする前に、を使用して構成をテストする必要があることに注意してください。構成が正しいことを保証することはできませんが、構文エラーや無効な値をキャッチします。
kungphu 2018年

2
はい。ただし、いずれの場合nginx -s reloadも、構文的に正しくない構成は適用されませんが、エラーが報告されます。
ruvim

Nginxがこのディレクティブでサポートする最大値はいくつですか?ドキュメントには何もありません。Apacheは最大2GBをサポートします
ダンダスカレスク

@DanDascalescu、最大値はoff_tタイプサイズによって異なります(を参照ngx_http_core_module.h)。64ビットの実行可能off_tサイズの場合は64ビットであり、最大値は2 ^ 63バイトである必要があります。
ruvim

19

Pooja Maneの答えは私にとってはうまくいきましたが、client_max_body_size変数をhttpセクション内に配置する必要がありました。

ここに画像の説明を入力してください


1
人々がコードスニペットを置くとき、私はそれが大好きです、あなたはヒーローです
Charden Daxicen

14

nginx構成ファイルのボディサイズを次のように増やすことができます

sudo nano /etc/nginx/nginx.conf

client_max_body_size 100M;

nginxを再起動して変更を適用します。

sudo service nginx restart


10
なぜ1億?なぜ100Gではないのですか?理論的根拠を追加すると、答えは改善されます。
HassanBaig19年

10
ええ、42Mの方がいいでしょう。
エフゲニーナボコフ

2
無制限の場合は0に設定します
mortezamoradi19年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.