ホームページ バックエンド開発 PHPチュートリアル nginx 接続数を制限する (ngx_http_limit_conn_module) モジュール nginx concat モジュール echo nginx モジュール nginx upsync モジュール

nginx 接続数を制限する (ngx_http_limit_conn_module) モジュール nginx concat モジュール echo nginx モジュール nginx upsync モジュール

Jul 29, 2016 am 08:54 AM
module nginx

ngx_http_limit_conn_module は、異常なトラフィック、過剰な負荷、または大規模なトラフィックの悪意のある攻撃アクセスがある一部のサーバーの同時接続数を制限します。このモジュールは、定義されたキーに基づいて、キー値ごとに接続数を制限できます。 used ヘッダー情報が完全に読み取られたリクエストを処理する接続がカウントされます。

このモジュールには、limit_conn_zone と limit_conn という 2 つの設定パラメータが用意されています。Limit_conn_zone は http{} セクションでのみ設定できますが、limit_conn は http{}、server{}、location{} セクションで設定できます。


1.limit_conn_zone

構文:limit_conn_zone $variable z
設定セクション: http

このディレクティブは、セッション状態の保存領域について説明します。現在の接続数はキーの状態に保存され、キーの値は特定の変数の null 以外の値にすることができます (null 値は考慮されません)。 $variable はキーを定義し、z はエリア名を定義し、その主な機能はその後に続くlimit_connです。 size は、各キーの共有メモリ空間のサイズを次のように定義します。

nginx rtmp module,nginx upload module,lua nginx module,fastdfs nginx module,nginx sticky module,nginx add module,nginx concat module,echo nginx module,nginx upsync modul

注:

クライアントの IP アドレスがキーとして使用されます。ここでは、remote_addr 変数ではなく、binary_remote_addr 変数が使用されていることに注意してください。
Remote_addr 変数の長さの範囲は 7 バイトから 15 バイトですが、ストレージ状態は 32 ビット プラットフォームでは 32 バイトまたは 64 バイト、64 ビット プラットフォームでは 64 バイトを占めます。
binary_remote_addr 変数の長さは 4 バイトに固定されており、ストレージ状態は 32 バイトまたは 32 ビット プラットフォームでは 64 バイト、64 ビット プラットフォームでは 64 バイトを占有します。
1M の共有スペースでは、32,000 の 32 ビット状態と 16,000 の 64 ビット状態を保存できます。
共有メモリ領域が使い果たされると、サーバーは後続のすべてのリクエストに対して 503 (Service Temporarily Unavailable) エラーを返します。


2.limit_conn

構文:limit_conn ゾーン名番号
設定セクション: http、server、location

このディレクティブは、指定されたキー値ごとに同時接続の最大数を指定します。この数を超えると、503 (サービス) エラーが返されます。例 (同じ IP は同時に 20 個の接続しか許可されません):

nginx rtmp module,nginx upload module,lua nginx module,fastdfs nginx module,nginx sticky module,nginx add module,nginx concat module,echo nginx module,nginx upsync modul


3. 設定と使用例

limit_conn_zone $binary_remote_addr z
主に変数、ゾーン名、共有メモリのサイズを定義するために使用されます

limit_conn showjoy_conn 20; 先ほど定義したshowjoy_connを設定し、同一IPの同時接続数を20に制限します

nginx rtmp module,nginx upload module,lua nginx module,fastdfs nginx module,nginx sticky module,nginx add module,nginx concat module,echo nginx module,nginx upsync modul


4. 使用上の注意点

トランザクションには2つの側面があります。 ngx_http_limit_conn_module モジュールは現在の同時実行性の問題を解決できますが、他の問題も引き起こします。たとえば、フロントエンドが LVS または逆生成を実行し、バックエンドがこのモジュール機能を有効にすると、大量の 503 エラーが発生するのではないでしょうか?この場合、フロントエンドでモジュールを有効にするか、ホワイトリストを設定できます。

モジュールアドレス: https://yunpan.cn/cqSKP6BrJ2AeT アクセスパスワード 4f50

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); }); 上記は、nginx 接続数制限 (ngx_http_limit_conn_module) モジュールと nginx コンテンツを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Tomcat サーバーへの外部ネットワーク アクセスを許可する方法 Tomcat サーバーへの外部ネットワーク アクセスを許可する方法 Apr 21, 2024 am 07:22 AM

Tomcat サーバーへの外部ネットワーク アクセスを許可する方法

nginxの起動コマンドと停止コマンドとは何ですか? nginxの起動コマンドと停止コマンドとは何ですか? Apr 02, 2024 pm 08:45 PM

nginxの起動コマンドと停止コマンドとは何ですか?

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

thinkphpの実行方法

Tomcatとnginxの違いは何ですか Tomcatとnginxの違いは何ですか Dec 27, 2023 pm 05:07 PM

Tomcatとnginxの違いは何ですか

phpmyadminの登録方法 phpmyadminの登録方法 Apr 07, 2024 pm 02:45 PM

phpmyadminの登録方法

nginx へようこそ!それを解決するにはどうすればよいですか? nginx へようこそ!それを解決するにはどうすればよいですか? Apr 17, 2024 am 05:12 AM

nginx へようこそ!それを解決するにはどうすればよいですか?

Nodejsプロジェクトをサーバーにデプロイする方法 Nodejsプロジェクトをサーバーにデプロイする方法 Apr 21, 2024 am 04:40 AM

Nodejsプロジェクトをサーバーにデプロイする方法

ウェブサイトにアクセスする際のnginxの問題を解決する方法 ウェブサイトにアクセスする際のnginxの問題を解決する方法 Apr 02, 2024 pm 08:39 PM

ウェブサイトにアクセスする際のnginxの問題を解決する方法

See all articles