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

nginx リクエスト数を制限する (ngx_http_limit_req_module) モジュール nginx concat モジュール echo nginx モジュール nginx upsync モジュール

WBOY
リリース: 2016-07-29 08:55:00
オリジナル
1284 人が閲覧しました

前回の記事では主にnginxにおける接続数を制限するngx_http_limit_conn_moduleモジュールの役割と使い方について書きました。 次にngx_http_limit_req_moduleモジュールの役割と使い方について書いていきます。

ngx_http_limit_req_module モジュールは、定義されたキー値を通じてリクエスト処理の頻度を制限できます。特に、単一の IP アドレスからのリクエストが処理される頻度を制限することができます。 制限方法はじょうごのようなもので、1 秒あたり一定数のリクエストを処理し、過剰なリクエストを延期します。

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


1.limit_req_zone

構文:limit_req_zone $variable z rate=rate
構成セクション: http

このコマンドは、キー値の状態パラメーターを保存するための共有メモリ制限ドメインを設定します。特に、リクエストを超えた現在数が保存されます。キーの値は指定された変数です (コントロールは評価されません)。例:

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

注:
$binary_remote_addr 変数を使用すると、各ステータス レコードのサイズを 64 バイトに削減できるため、1M のメモリで約 16,000 個の 64 バイト レコードを保存できます

制限されたドメインのストレージ スペースが使い果たされた場合、後続のすべてのリクエストに対して、サーバーは 503 (Service Temporarily Unavailable) エラーを返します

速度は、1 秒あたりに処理されるリクエストの数と 1 分あたりに処理されるリクエストの数に設定できるため、処理する必要がある場合は値を整数にする必要があります。リクエストが 1 秒あたり 1 件未満、リクエストの処理に 2 秒かかる場合は、30r/m を使用できます


2. 設定セクション: http、サーバー、場所

対応する共有メモリ制限ドメインと処理を許可するリクエストの最大数を設定します。リクエストの頻度が制限ドメインで設定された値を超えると、すべてのリクエストが定義された頻度で処理されるようにリクエストの処理が遅延します。頻度制限を超えるリクエストは、遅延リクエストの数が定義されたしきい値を超えるまで遅延され、この時点でリクエストは終了され、503 (サービス一時利用不可) エラーが返されます。このしきい値のデフォルト値は 0 です。例:

頻度を 1 秒あたり 1 件以下に制限し、頻度制限を超えるリクエストを 100 件以下に制限します。超過したリクエストを遅延させたくない場合は、nolay パラメーターを使用できます。

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 modul3. 構成の使用例


limit_req_zone $binary_remote_addr z rate=1r/s; 主に変数、空間名、共有メモリサイズの定義に使用されます。

limit_req z バースト=100 遅延なし

これは主に、以前に定義されたスペースを使用してリクエストの頻度制限を定義するために使用されます。これは、超過したリクエストを遅延させたくないことを意味します。


一部の IP は制限されていない場合があり、ホワイトリストを使用する必要があります。

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モジュールアドレス: 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 コンテンツを含む nginx 制限リクエスト番号 (ngx_http_limit_req_module) モジュールを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート