Nginx でファイルのアップロード サイズを制限する方法
前回の記事では、Apache でのユーザー ファイルのアップロード サイズの制限について説明しました。この記事ではNginxでユーザーファイルのアップロードサイズを制限する方法を説明します。ファイルのアップロード サイズを制限すると、一部の種類のサービス拒否 (DOS) 攻撃やその他の関連する多くの問題を防ぐのに役立ちます。
デフォルトでは、Nginx ではファイルのアップロードに 1 MB の制限があります。ファイルのアップロード サイズを設定するには、Nginx の ngx_http_core_module モジュールの一部である client_max_body_size
ディレクティブを使用できます。このディレクティブは、http、サーバー、または場所コンテキストで設定できます。
これは、「Content-Length」リクエスト ヘッダー フィールドで指定された、クライアント リクエスト本文の最大許容サイズを設定します。 /etc/nginx/nginx.conf
ファイルで制限を 100MB に増やす例を次に示します。
すべてのサーバー ブロック (仮想ホスト) に影響するhttp ブロックに設定します。
http {
...
client_max_body_size 100M;
}
特定のサイト/ アプリに影響を与えるサーバー ブロックに設定します。
server {
...
client_max_body_size 100M;
}
サイト/アプリの下の特定のディレクトリ (アップロード) に影響を与えるロケーション ブロックに設定します。
location /uploads {
...
client_max_body_size 100M;
}
次のコマンドを使用して、ファイルを保存し、Nginx Web サーバーを再起動して最近の変更を適用します。
systemctl restart nginx #systemd
service nginx restart #sysvinit
変更を保存して HTTP サーバーを再起動した後、リクエストのサイズが設定値の 100MB を超えると、413 (リクエスト エンティティが大きすぎます) エラーが返されます。クライアントに。
注: ブラウザによってはこのエラーが正しく表示されない場合があることに注意してください。また、値 (サイズ) を0 に設定すると、クライアント要求の本文サイズのチェックが無効になります。
Nginx Web サーバーの管理に関連する次の記事もお読みください。
- Linux で Nginx ポートを変更する方法
- Linux で Nginx サーバーのバージョンを非表示にする方法
- ngxtop – Linux で Nginx ログ ファイルをリアルタイムで監視する
- Netdata を使用して Nginx のパフォーマンスを監視する方法
- NGINX ステータス ページを有効にする方法
それだけです!この短い記事では、Nginx でユーザー ファイルのアップロード サイズを制限する方法を説明しました。以下のコメントフォームからご意見をお聞かせください。