ウェブサイト検索

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 サーバーの管理に関連する次の記事もお読みください。

  1. Linux で Nginx ポートを変更する方法
  2. Linux で Nginx サーバーのバージョンを非表示にする方法
  3. ngxtop – Linux で Nginx ログ ファイルをリアルタイムで監視する
  4. Netdata を使用して Nginx のパフォーマンスを監視する方法
  5. NGINX ステータス ページを有効にする方法

それだけです!この短い記事では、Nginx でユーザー ファイルのアップロード サイズを制限する方法を説明しました。以下のコメントフォームからご意見をお聞かせください。