ホームページ  >  記事  >  運用・保守  >  geoモジュールを介してNginxでホワイトリストを設定する方法

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

WBOY
WBOY転載
2023-05-26 13:10:511144ブラウズ

元の構成:

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 までご連絡ください。