ホームページ バックエンド開発 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 モジュール

Jul 29, 2016 am 08:55 AM
module nginx

前回の記事では主に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 チュートリアルに興味のある友人に役立つことを願っています。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

nginxでクラウドサーバードメイン名を構成する方法 nginxでクラウドサーバードメイン名を構成する方法 Apr 14, 2025 pm 12:18 PM

クラウドサーバーでnginxドメイン名を構成する方法:クラウドサーバーのパブリックIPアドレスを指すレコードを作成します。 NGINX構成ファイルに仮想ホストブロックを追加し、リスニングポート、ドメイン名、およびWebサイトルートディレクトリを指定します。 nginxを再起動して変更を適用します。ドメイン名のテスト構成にアクセスします。その他のメモ:SSL証明書をインストールしてHTTPSを有効にし、ファイアウォールがポート80トラフィックを許可し、DNS解像度が有効になることを確認します。

Nginxバージョンを確認する方法 Nginxバージョンを確認する方法 Apr 14, 2025 am 11:57 AM

nginxバージョンを照会できるメソッドは次のとおりです。nginx-vコマンドを使用します。 nginx.confファイルでバージョンディレクティブを表示します。 nginxエラーページを開き、ページタイトルを表示します。

nginxサーバーを開始する方法 nginxサーバーを開始する方法 Apr 14, 2025 pm 12:27 PM

NGINXサーバーを起動するには、異なるオペレーティングシステムに従って異なる手順が必要です。Linux/UNIXシステム:NGINXパッケージをインストールします(たとえば、APT-GetまたはYumを使用)。 SystemCtlを使用して、NGINXサービスを開始します(たとえば、Sudo SystemCtl Start NGinx)。 Windowsシステム:Windowsバイナリファイルをダウンロードしてインストールします。 nginx.exe実行可能ファイルを使用してnginxを開始します(たとえば、nginx.exe -c conf \ nginx.conf)。どのオペレーティングシステムを使用しても、サーバーIPにアクセスできます

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Windowsでnginxを構成する方法 Windowsでnginxを構成する方法 Apr 14, 2025 pm 12:57 PM

Windowsでnginxを構成する方法は? nginxをインストールし、仮想ホスト構成を作成します。メイン構成ファイルを変更し、仮想ホスト構成を含めます。 nginxを起動またはリロードします。構成をテストし、Webサイトを表示します。 SSLを選択的に有効にし、SSL証明書を構成します。ファイアウォールを選択的に設定して、ポート80および443のトラフィックを許可します。

Nginxが開始されるかどうかを確認する方法 Nginxが開始されるかどうかを確認する方法 Apr 14, 2025 pm 01:03 PM

nginxが開始されるかどうかを確認する方法:1。コマンドラインを使用します:SystemCTLステータスnginx(Linux/unix)、netstat -ano | FindStr 80(Windows); 2。ポート80が開いているかどうかを確認します。 3.システムログのnginx起動メッセージを確認します。 4. Nagios、Zabbix、Icingaなどのサードパーティツールを使用します。

Dockerによってコンテナを起動する方法 Dockerによってコンテナを起動する方法 Apr 15, 2025 pm 12:27 PM

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。

nginx apacheを実行する方法 nginx apacheを実行する方法 Apr 14, 2025 pm 12:33 PM

nginxをApacheを実行するには、次のことが必要です。1。nginxとapacheをインストールします。 2。nginxエージェントを構成します。 3。nginxとapacheを起動します。 4.構成をテストして、ドメイン名にアクセスした後にApacheコンテンツを確認できることを確認します。さらに、ポート番号マッチング、仮想ホスト構成、SSL/TLS設定など、他の問題に注意を払う必要があります。

See all articles