Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Wie Nginx- und GeoIP-Module die geografischen Informationen von IP lesen

Wie Nginx- und GeoIP-Module die geografischen Informationen von IP lesen

WBOY
WBOYnach vorne
2023-05-14 15:10:061729Durchsuche

Linux-Installations-Geoip

yum install nginx-module-geoip

http_geoip_module-Nutzungsszenario

1. Unterschied zwischen Inland und Ausland http-Zugriffsregeln

2. Verschiedene inländische Stadtregionen für http-Zugriffsregeln

yum Suchen Sie nach der Installation die installierte Moduldatei

Wenn Nginx verwendet wird yun Die Installation erfolgt normalerweise im Verzeichnis /etc/nginx/modules/

Hinweis: Wenn nginx nicht von yum installiert, sondern aus dem Quellcode kompiliert und installiert wird, müssen Sie nginx neu installieren, kompilieren und hinzufügen Modul, und dann ist es nicht erforderlich, dieses Modul manuell hinzuzufügen.

Modul manuell hinzufügen

Das am Kopf der Konfigurationsdatei nginx.conf geladene Modul befindet sich auf derselben Ebene wie http#🎜 🎜#

load_module "modules/ngx_http_geoip_module.so";
load_module "modules/ngx_stream_geoip_module.so";

Da GeoIP auf Maxmind basiert und eine Datenbankdatei zum Lesen regionaler Informationen bereitstellt, müssen Sie die IP-Regionaldatei herunterladen.

Diese Datenbank ist binär und kann nicht mit einem Texteditor geöffnet werden. Zum Lesen ist die oben genannte GeoIP-Bibliothek erforderlich.

wget http://geolite.maxmind.com/download/geoip/database/geolitecountry/geoip.dat.gz #国家的地域ip
wget http://geolite.maxmind.com/download/geoip/database/geolitecity.dat.gz  #城市的地域ip

Dann entpacken Sie

load_module "modules/ngx_http_geoip_module.so";
load_module "modules/ngx_stream_geoip_module.so";

.......


http{
geoip_country /etc/nginx/geoip/geoip.dat; #加载国家ip
geoip_city /etc/nginx/geoip/geolitecity.dat; #加载城市ip

.........

 server
 {
 ......



 location / {
 #判断如果不是中国的就返回403;
 if ($geoip_country_code != cn) {
  return 403;
 }
 }
 #返回国家城市信息
 location /myip {
 default_type text/plain;
 return 200 "$remote_addr $geoip_country_name $geoip_country_code $geoip_city";
 }



....
 }
}

und besuchen Sie dann Ihre IP-Adresse/myip, um die Land- und Stadtinformationen zurückzugeben, in denen sich die IP befindet.

Das obige ist der detaillierte Inhalt vonWie Nginx- und GeoIP-Module die geografischen Informationen von IP lesen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen