ホームページ > 運用・保守 > Nginx > nginxで電流制限を実装するにはどのような方法がありますか?

nginxで電流制限を実装するにはどのような方法がありますか?

王林
リリース: 2020-06-22 17:08:08
転載
3651 人が閲覧しました

nginxで電流制限を実装するにはどのような方法がありますか?

公式 nginx ドキュメントを見ると、次の 3 つの nginx 電流制限方法があることがわかります。すなわち、

(推奨チュートリアル: nginx チュートリアル)

1、limit_conn_zone

2、limit_req_zone

3、ngx_http_upstream_module

ここでは、上記の 3 つの方法について簡単に説明します。

1.limit_conn_zone

nginxconfiguration

http{ 
 limit_conn_zone $binary_remote_addr zone=one:10m; 
 server 
 { 
   ...... 
  limit_conn one 10; 
  ...... 
 } 
}
ログイン後にコピー

このうち、「limit_conn one 10」はサーバー層に配置してサーバー全体に有効にすることができ、または、単一の場所が有効な場合にのみその場所に配置することもできます。

この構成は、クライアントの同時接続数が 10 までであることを示しています。

2.limit_req_zone

nginx 設定

http{ 
 limit_req_zone $binary_remote_addr zone=req_one:10m rate=1r/s; 
 server 
 { 
   ...... 
  limit_req zone=req_one burst=120; 
  ...... 
 } 
}
ログイン後にコピー

「limit_reqzone=req_oneburst=120」はサーバー層ペアに配置できますこれはサーバー全体に対して有効であるか、または 1 つの場所に配置して 1 つの場所に対してのみ有効です。


rate=1r/s は、各アドレスを 1 秒間に 1 回だけリクエストできることを意味します。つまり、トークン バケット Burst=120 には合計 120 個のトークンがあり、毎秒新しいトークンのみが追加されます。 1 トークンと 120 トークンが発行された後、追加のリクエストは 503 を返します。


3. ngx_http_upstream_module

nginx 設定

upstream xxxx{ 
 
 server 127.0.0.1:8080 max_conns=10; 
 
 server 127.0.0.1:8081 max_conns=10; 
 
}
ログイン後にコピー

以上がnginxで電流制限を実装するにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:jb51.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート