So lesen Sie die regionalen Informationen einer IP mithilfe des Nginx- und GeoIP-Moduls

So lesen Sie die regionalen Informationen einer IP mithilfe des Nginx- und GeoIP-Moduls

Installieren Sie GeoIP unter Linux

yum installiere nginx-module-geoip

http_geoip_module-Nutzungsszenarien

1. Unterscheiden Sie zwischen inländischen und ausländischen HTTP-Zugriffsregeln

2. Unterscheiden Sie inländische Städte und Regionen, um HTTP-Zugriffsregeln festzulegen

Suchen Sie nach der Installation von yum die installierte Moduldatei

Wenn nginx mit yun installiert wird, wird es normalerweise im Verzeichnis /etc/nginx/modules/ installiert.

Hinweis: Wenn nginx nicht von yum installiert, sondern aus dem Quellcode kompiliert wird, müssen Sie nginx mit diesem Modul neu installieren und kompilieren. Dann müssen Sie dieses Modul nicht manuell hinzufügen.

Manuelles Hinzufügen von Modulen

Das Modul wird auf der gleichen Ebene wie http im Header der Konfigurationsdatei nginx.conf geladen

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

Da GeoIP zum Lesen der Regionalinformationen auf der von MaxMind bereitgestellten Datenbankdatei basiert, ist es erforderlich, die Regionaldatei des IP herunterzuladen.

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 #Regionale IP des Landes
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz #Regionale IP der Stadt

Anschließend entpacken

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

.......


http{
geoip_country /etc/nginx/geoip/GeoIP.dat; #Länder-IP laden
geoip_city /etc/nginx/geoip/GeoLiteCity.dat; #Stadt-IP laden

.........

 Server
 {
 ......



 Standort / {
 #Wenn es nicht Chinesisch ist, geben Sie 403 zurück;
 wenn ($geoip_country_code != CN) {
  Rückgabe 403;
 }
 }
 #Gibt Länder- und Stadtinformationen zurück location /myip {
 Standardtyp Text/Plain;
 gibt 200 "$remote_addr $geoip_country_name $geoip_country_code $geoip_city" zurück;
 }



....
 }
}

Besuchen Sie dann Ihre IP-Adresse/myip, um die Länder- und Stadtinformationen der IP zurückzugeben.

Die obige Methode zur Verwendung von Nginx und GeoIP-Modulen zum Lesen der regionalen IP-Informationen ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • Nginx-GeoIP-Modul zur Erzielung eines regionalen Lastausgleichs

<<:  Lösung für das Paging-Fehlerproblem bei MySQL-Eins-zu-viele-Assoziationsabfragen

>>:  Vue-pdf implementiert eine Online-Vorschau von PDF-Dateien

Artikel empfehlen

MySQL-Datenbankindizes und -Transaktionen

Inhaltsverzeichnis 1. Inhaltsverzeichnis 1.1 Konz...

So migrieren Sie lokales MySQL in eine Serverdatenbank

Wir können den scp-Befehl von Linux (scp kann unt...

Eine detaillierte Einführung in den wget-Befehl in Linux

Inhaltsverzeichnis Installieren Sie zuerst wget H...

MYSQL METADATA LOCK (MDL LOCK) Theorie und Sperrtyptest

Inhaltsverzeichnis MYSQL METADATA LOCK (MDL LOCK)...

Nginx' praktische Methode zur Lösung domänenübergreifender Probleme

Trennen Sie Front- und Backend und lösen Sie domä...

Tutorial zur Installation von htop unter CentOS 8

Wenn Sie Ihr System interaktiv überwachen möchten...

Implementierung der Nummernschild-Eingabefunktion im WeChat-Applet

Inhaltsverzeichnis Vorwort Hintergrund Große Verm...

Der Unterschied zwischen redundanten und doppelten Indizes in MySQL

MySQL ermöglicht das Erstellen mehrerer Indizes f...

Das Docker-Maven-Plugin-Plugin kann das entsprechende JAR-Paket nicht abrufen

Bei Verwendung des Plug-Ins „Docker-Maven-Plugin“...

js, um die Rotation von Webseitenbildern zu realisieren

In diesem Artikel wird der spezifische Code von j...

So fügen Sie einem Alpine-Image einen Ansible-Dienst hinzu

Verwenden Sie apk add ansible, um den Ansible-Die...