So verwenden Sie GeoIP, um Regionen in Nginx einzuschränken

So verwenden Sie GeoIP, um Regionen in Nginx einzuschränken

Dieser Blog ist eine Arbeitsnotiz

Umfeld:

Nginx-Version: nginx/1.14.0

Centos-Version: centos7

Die Voraussetzungen sind wie folgt:

Unterscheiden Sie zwischen inländischen und ausländischen IP-Adressen und springen Sie dann zu verschiedenen Seiten. Verwenden Sie schließlich das Drittanbietermodul von nginx: geoip, um dies zu erreichen. Ich werde nicht über seine Vorteile sprechen. Es gibt viele Erklärungen im Internet. Sehen wir uns an, wie man es konfiguriert.

Mein System ist mit nignx.repo konfiguriert. Ich habe das GeoIP-Modul direkt mit yum installiert, ohne das Modul hinzuzufügen und neu zu kompilieren.

yum installiere nginx-module-geoip

Laden Sie die GeoIP-Datenbankdatei herunter

cd /etc/nginx
mkdir geoipdat
CD GeoIPDAT

Laden Sie wget herunter: http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

Entpacken Sie gunzip GeoIP.dat.gz
gunzip GeoLiteCity.dat.gz

Konfigurieren Sie nginx entsprechend Ihren Anforderungen

Laden Sie zunächst die GeoIP-Bibliothek in nginx.conf und konfigurieren Sie sie wie folgt:

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

Benutzer nginx;
Arbeiterprozesse 1;

Fehlerprotokoll /var/log/nginx/error.log warnen;
pid /var/run/nginx.pid;


Ereignisse {
  Arbeiterverbindungen 1024;
}


http {
  /etc/nginx/mime.types einschließen;
  Standardtyp Anwendung/Oktett-Stream;

  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  Zugriffsprotokoll /var/log/nginx/access.log Haupt;

  sendfile an;
  #tcp_nopush ein;

  KeepAlive-Timeout 65;

  #gzip ein;

  schließen Sie /etc/nginx/conf.d/*.conf ein;
}

Konfigurieren Sie den virtuellen Host wie folgt:

GeoIP_Land /etc/nginx/geoipdat/GeoIP.dat;
GeoIP-Stadt /etc/nginx/geoipdat/GeoLiteCity.dat;


Server {
  hören Sie 80;
  Servername localhost;
  Standort / {
 Wurzel /opt;
 wenn ($geoip_country_code = CN){
 umschreiben (.*) /zh$1 break;
 }
    umschreiben (.*) /en$1 break;
  }
    Fehlerseite 500 502 503 504 /50x.html;
  Standort = /50x.html {
    root /usr/share/nginx/html;
  }

}

Das opt-Verzeichnis lautet wie folgt

[root@VM_0_15_centos opt]# Baum
.
|
└── de
│ └── index.html
└── de
  └── index.html

Das Obige ist nur eine einfache Konfiguration. . . .

Die obige Methode zur Verwendung von GeoIP für regionale Beschränkungen in Nginx 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.

Das könnte Sie auch interessieren:
  • Nginx beschränkt den IP-Zugriff auf bestimmte Seiten
  • So konfigurieren Sie Nginx, um die Zugriffshäufigkeit derselben IP zu begrenzen
  • Analyse der Methode des Nginx-Servers zur Einschränkung des Zugriffs über IP und user_gent
  • So gehen Sie mit böswilligen Anrufen an die SMS-Schnittstelle über eine eingeschränkte Nginx-IP um
  • Nginx begrenzt die Anzahl der Besuche und Anfragen an eine bestimmte IP im gleichen Zeitraum. Beispielcode
  • Eine vollständige Analyse verschiedener Situationen, in denen der Nginx-Server den IP-Zugriff einschränkt
  • So begrenzen Sie gleichzeitige IP-Adressen und die Download-Geschwindigkeit in Nginx
  • So richten Sie Nginx und Apache ein, um gleichzeitigen IP-Zugriff und IP-Verbindungen zu begrenzen
  • Begrenzung der Anzahl kurzfristiger Zugriffe auf eine bestimmte IP basierend auf Nginx

<<:  Grafisches Tutorial zur Installation und Konfiguration der kostenlosen Installationsversion von MySQL 5.7.16

>>:  Implementierung der Kommunikation zwischen Vue und Flask

Artikel empfehlen

Designtheorie: Menschenorientiertes Designkonzept

<br />Als sich das Denken in Ost und West sp...

Beispielmethode zum Anzeigen von IP in Linux

Die Kenntnis der IP-Adresse eines Geräts ist wich...

Vue realisiert den Logistik-Timeline-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

Diskussion über die Browsing-Designmethode für Webseiteninhalte

<br />Wenn ein Artikel auf einer Inhaltsseit...

MySQL ändert die Standard-Engine und Zeichensatzdetails

Inhaltsverzeichnis 1. Datenbankmodul 1.1 Datenban...

So verfolgen Sie Benutzer mit JS

Inhaltsverzeichnis 1. Synchrones AJAX 2. Asynchro...

Miniprogramm zur Implementierung der Rechnerfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Das WeChat-Applet wählt die Bildsteuerung

In diesem Artikelbeispiel wird der spezifische Co...

Ausführliches Tutorial zur Installation von Deepin in VMware15 (Bild und Text)

Vorwort Die Benutzeroberfläche von Deepin sieht w...