ネットワークセグメント内の 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データファイルの保存場所を表示する方法

推薦する

Easyswoole ワンクリック インストール スクリプトとパゴダ インストール エラー

よくある質問easyswoole を初めて使用する場合は、次のような問題に遭遇することがよくあります...

JavaScript の矢印関数と通常の関数の違いの詳細な説明

この記事では、JavaScriptにおけるアロー関数と通常の関数の違いについて解説します。具体的な内...

Web ページでの Unicode 文字の使用の概要 (&#、\u など)

初期のコンピュータでは ASCII 文字しか使用できませんでしたが、コンピュータのアプリケーションの...

Docker Compose で利用可能な環境変数の詳細な説明

Compose のいくつかの部分は、何らかの方法で環境変数を扱います。このチュートリアルは、必要な情...

MySQL初心者のための基本操作のまとめ

図書館運営クエリ1.SHOW DATABASE; ----すべてのデータベースを照会する2. SHO...

ウェブサイトのコンテンツの一部を傍受するための iframe を実装するためのアイデアとコード

コードをコピーコードは次のとおりです。 <div スタイル="幅:630px;高さ:...

親要素に対する CSS 子要素の配置の実装

解決親要素に position:relative を追加します。子要素に position:abso...

MySQL でのフィルター条件なしのカウントの詳細な説明

カウント(*)成し遂げる1. MyISAM: テーブル内の行の総数をディスク上に保存し、フィルタリン...

CSS が初期読み込み時の白い画面の時間に与える影響

外部 CSS ファイルを使用したレンダリング パイプライン上図では、HTML データの要求から DO...

フロートとBFCをクリアするCSSメソッド

イギリスBFC: ブロック書式設定コンテキストBFCレイアウトルール内箱は縦方向に次々に配置されます...

div の特定の実装は自動的に折り返されず、HTML で折り返されないよう強制されます。

1. 改行なしを実現するには<nobr>タグを使用するコードをコピーコードは次のとおりで...

IOSデータベースアップグレードデータ移行の詳細な例

IOSデータベースアップグレードデータ移行の詳細な例まとめ:昔、データベースのバージョン アップグレ...

webpackが静的リソースキャッシュを実装する方法

目次導入複数の異なるハッシュを区別するハッシュチャンクハッシュコンテンツハッシュjs キャッシュの実...

MySQL 8.0.12 のインストールと環境変数の設定チュートリアル (Win10 の場合)

Windows 10 プラットフォームでの MySQL のインストール、構成、起動、ログイン、環境...

CentOS 7でsambaを使用してフォルダーを共有するための完全な手順

序文Samba は、サーバー プログラムとクライアント プログラムで構成され、Linux システム上...