geoモジュールを介してNginxでホワイトリストを設定する方法

WBOY
リリース: 2023-05-26 13:10:51
転載
1216 人が閲覧しました

元の構成:

http {
......
ログイン後にコピー
ログイン後にコピー
limit_conn_zone $binary_remote_addr zone=one:10m;
limit_req_zone $binary_remote_addr zone=fifa:10m rate=5r/s;
ログイン後にコピー
......
server {
......
limit_conn one 5;
limit_req zone=fifa burst=100;
......
}}
ログイン後にコピー
ログイン後にコピー

ホワイトリスト構成:

http {
......
ログイン後にコピー
ログイン後にコピー
geo $whiteiplist {
 default 1;
 127.0.0.1 0;
 10.10.0.0/24 0;
}
map $whiteiplist $limit {
 1 $binary_remote_addr;
 0 "";
}
limit_conn_zone $limit zone=one:10m;
limit_req_zone $limit zone=fifa:10m rate=5r/s;
ログイン後にコピー
......
server {
......
limit_conn one 5;
limit_req zone=fifa burst=100;
......
}}
ログイン後にコピー
ログイン後にコピー

説明:

geo ディレクティブはホワイトリスト $whiteiplist を定義します。デフォルト値は 1 で、すべてが制限されます。クライアント IP がホワイトリストにリストされている IP と一致する場合、$whiteiplist 値は 0 となり、制限されないことを意味します。

map コマンドは、$whiteiplist 値を、制限付き IP である 1 にクライアント IP にマッピングします。ホワイトリスト IP である $whiteiplist 値 0 を空の文字列にマップします。

limit_conn_zone および limit_req_zone 命令は、null 値を持つキーでは無視されるため、リストされた IP に制限はありません。

以上がgeoモジュールを介してNginxでホワイトリストを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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