ネットワークセグメント内の IP アドレスに対する Nginx の接続制限設定の詳細な説明

ネットワークセグメント内の IP アドレスに対する Nginx の接続制限設定の詳細な説明

Nginx におけるいわゆる接続制限は、実際には TCP 接続、つまり 3 ウェイ ハンドシェイク後にリクエスタによって正常に確立された接続ステータスです。 Nginx は通常、接続制限機能を提供するために ngx_http_limit_conn_module モジュールを提供します。このモジュールは、単一の IP ソースからの接続数など、定義されたキーに基づいて各キー値の接続数を制限できます。

ngx_http_limit_conn_module ディレクティブの説明

構文: limit_conn ゾーン番号;
デフォルト: -
コンテキスト: http、サーバー、場所

このディレクティブは、セッション状態の保存領域について説明します。キーの状態には現在の接続数が保持され、キーの値は特定の変数に対して null 以外の任意の値にすることができます (null 値は考慮されません)。 $variable はキーを定義し、zone=name はゾーン名を定義します。 一般的な使用例:

limit_conn_zone $binary_remote_addr ゾーン=addr:10m;

サーバー{
  場所 /download/ {
    limit_conn アドレス 1;
  }

上記の例は、/download/ へのアクセス要求が行われた場合、同時に 1 つの要求接続のみがリソースを正常にダウンロードできることを示しています。

ネットワークセグメント制限

一般的な limit_conn_zone 構成では、通常、単一の IP またはホスト レベルでの接続数を制限すべく $binary_remote_addr または $server_name を設定します。

しかし、特定の IP セグメントへの接続数を制限したい場合には、次のようにします。

http {

……

  limit_conn_zone $ip_segment ゾーン=ネットワークセグメント:10m;

  サーバー{
      ……
      $ip_segment $remote_addr を設定します。

      $ip_segment ~ ^(\d+)\.(\d+)\.(\d+)\.(\d+) の場合 {
        $ip_segmentを$1.$2.$3に設定します。
      }

      場所 /download/ {
        limit_connネットワークセグメント10; 
        #制限レート 200k;
      }

  }
}

これは基本的に、ネットワーク セグメント内のすべての IP の接続数に統一された接続制限を課すという Nginx の要件を満たします。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Nginxの現在の制限設定の詳細な説明
  • Nginx 急ぎ購入 電流制限構成 実装分析
  • Nginx の現在の制限と構成管理の実践記録

<<:  Vueは秒殺しのカウントダウンコンポーネントを実装する

>>:  MySQLデータファイルの保存場所を表示する方法

推薦する

IDEA の Maven プロジェクトで MySQL 8.0 に接続して使用する方法に関するチュートリアル

まず、私の基本的な開発環境を見てみましょう。オペレーティングシステム: MacOS 10.13.5 ...

パーソナライズされた検索エンジンを使用して、必要なパーソナライズされた情報を検索します

現在、多くの人がインターネット上で生活しており、インターネットで情報を検索することは日常的な作業とな...

LINUX でプロセスを表示する 4 つの方法 (要約)

プロセスは CPU とメモリ内で実行されるプログラム コードであり、各プロセスは 1 つ以上のプロセ...

HTML で margin:0 auto を使用するとページ全体が中央に配置されない問題の解決方法

今日、jsp ページを書きました。<div style="margin:0 auto...

Vue-routerルーティングの使い方

目次1. 説明2. インストール3. テスト1. 説明Vue Router は、Vue.js の公式...

Access_Tokenの統合管理を実現するミニプログラム開発

目次TOKEN タイマーリフレッシュ2. access_tokenの内部設計2.1 access_t...

Webリクエストと処理のTomcatソースコード分析

目次序文1. エンドポイント2. 接続ハンドラ3. コヨーテ4. コンテナ責任チェーンパターン序文T...

MySQL 8.0.19 のインストールと設定方法のグラフィックチュートリアル

この記事は、参考のためにMySQL 8.0.19のインストールと設定のグラフィックチュートリアルを記...

WMLタグの概要

構造関連タグ--------------------------------------------...

Tomcatソースコードをideaにインポートする方法

目次1. Tomcatコードをダウンロードする2. ダウンロード後のディレクトリ構造3. ソースコー...

W3Cチュートリアル(1):W3Cを理解する

1994 年に設立された組織である W3C は、共通プロトコルの開発を促進し、それらの相互運用性を確...

Vue+Openlayer で select を使用して要素を選択する実装コード

効果画像: 実装コード: <テンプレート> <div id="map&q...

Vueでタイマーをエレガントにクリアする方法

目次序文最適化派生的な質問: beforeDestroy はトリガーされませんか?序文タイマーをクリ...

MySQLクエリ条件の一般的な使用法の詳細な説明

この記事では、例を使用して、MySQL クエリ条件の一般的な使用方法を説明します。ご参考までに、詳細...