


Wie legen Websites über Nginx IP-Beschränkungen für die Black-/Whitelist sowie IP-Zugriffsbeschränkungen für Länder und Städte fest?
1. Black/White-List-IP-Zugriffsbeschränkungskonfiguration
nginx bietet mehrere Möglichkeiten, Black- und White-Listen zu konfigurieren. Hier sind nur zwei häufig verwendete Methoden.
1. Die ersten Methoden: Zulassen, Verweigern und Zulassen gehören standardmäßig zu ngx_http_access_module, sodass es direkt verwendet werden kann.
Diese Methode ist die einfachste und direkteste. Richten Sie eine Firewall ähnlich wie iptable ein. So verwenden Sie:
Direkt zur Konfigurationsdatei hinzufügen:
#白名单设置,allow后面为可访问IP location / { allow 123.13.123.12; allow 23.53.32.1/100; deny all; } #黑名单设置,deny后面接限制的IP,为什么不加allow all? 因为这个默认是开启的 location / { deny 123.13.123.12; } #白名单,特定目录访问限制 location /tree/list { allow 123.13.123.12; deny all; }
Oder konfigurieren Sie die Whitelist, indem Sie die Datei IP auslesen
location /{ include /home/whitelist.conf; #默认位置路径为/etc/nginx/ 下, #如直接写include whitelist.conf,则只需要在/etc/nginx目录下创建whitelist.conf deny all; }
Erstellen Sie die Datei „whitelist.conf“ im Verzeichnis /home/ und schreiben Sie die Informationen Das muss der Whitelist-IP hinzugefügt werden. Nachdem Sie es hinzugefügt haben, sehen Sie sich Folgendes an:
cat /home/whitelist.conf #白名单IP allow 10.1.1.10; allow 10.1.1.11;
Die Whitelist-Einstellung ist abgeschlossen und die Blacklist-Einstellungsmethode ist dieselbe.
2: Die zweite Methode, ngx_http_geo_module
Standardmäßig wird dieses Modul im Allgemeinen zu Nginx hinzugefügt, ngx_http_geo_module: Offizielles Dokument, die Parameter müssen im http-Modul festgelegt werden.
Mit diesem Modul können IP-Einschränkungen sowie Länder- und Regionsbeschränkungen festgelegt werden. Der Standort kann außerhalb des Servermoduls liegen.
Syntaxbeispiel:
Die Konfigurationsdatei wird direkt hinzugefügt
geo $ip_list { default 0; #设置默认值为0 192.168.1.0/24 1; 10.1.0.0/16 1; } server { listen 8081; server_name 192.168.152.100; location / { root /var/www/test; index index.html index.htm index.php; if ( $ip_list = 0 ) { #判断默认值,如果值为0,可访问,这时上面添加的IP为黑名单。 #白名单,将设置$ip_list = 1,这时上面添加的IP为白名单。 proxy_pass http://192.168.152.100:8081; }
Sie können auch die Datei IP-Konfiguration lesen
geo $ip_list { default 0; #设置默认值为0 include ip_white.conf; } server { listen 8081; server_name 192.168.152.100; location / { root /var/www/test; index index.html index.htm index.php; if ( $ip_list = 0 ) { return 403; #限制的IP返回值为403,也可以设置为503,504其他值。 #建议设置503,504这样返回的页面不会暴露nginx相关信息,限制的IP看到的信息只显示服务器错误,无法判断真正原因。 }
Erstellen Sie ip_list.conf im Verzeichnis /etc/nginx und sehen Sie sich nach dem Hinzufügen der IP Folgendes an:
cat /etc/nginx/ip_list.conf 192.168.152.1 1; 192.168.150.0/24 1;
Bei der Einstellung wird die IP-Listendatei ip_list.conf als Whitelist verwendet. Wenn die angeforderte IP nicht in der Liste enthalten ist, wird die 403-Seite direkt zurückgegeben. Die Einstellungsmethode für die Blacklist ist dieselbe.
3. ngx_http_geo_module Lastausgleich (Erweiterung)
ngx_http_geo_module, das Modul kann beispielsweise auch für den Lastausgleich verwendet werden, und das IP-Segment einer bestimmten Region wird auf die zugreifenden Server verteilt eine bestimmte Region. Eine ähnliche Möglichkeit besteht darin, benutzerdefinierte Werte hinter der IP hinzuzufügen. Diese Werte sind nicht auf Zahlen beschränkt, sondern es können auch Buchstaben wie US, CN usw. verwendet werden.
Beispiel:
Wenn es drei Server gibt: 122.11.11.11, 133.11.12.22, 144.11.11.33
geo $country { default default; 111.11.11.0/24 uk; #IP段定义值uk 111.11.12.0/24 us; #IP段定义值us } upstream uk.server { erver 122.11.11.11:9090; #定义值uk的IP直接访问此服务器 } upstream us.server { server 133.11.12.22:9090; #定义值us的IP直接访问此服务器 } upstream default.server { server 144.11.11.33:9090; #默认的定义值default的IP直接访问此服务器 } server { listen 9090; server_name 144.11.11.33; location / { root /var/www/html/; index index.html index.htm; } }
Dann in
Zweitens, Länder- und Regions-IP-Zugriffsbeschränkung
Einige Dienste von Drittanbietern wie Cloudfla re auch zur Verfügung stellen Das Festlegen von Optionen zum Aktivieren des Einrichtens von Firewall-Regeln ist bequemer. Hier sprechen wir darüber, wie man Nginx einrichtet.
1: Installieren Sie das Modul ngx_http_geoip_module.
ngx_http_geoip_module: Offizielles Dokument, die Parameter müssen im http-Modul festgelegt werden.
nginx erstellt dieses Modul nicht standardmäßig, es sollte mit dem Konfigurationsparameter --with-http_geoip_module aktiviert werden.
Für Ubuntu-Systeme installieren Sie die Nginx-Extras-Komponenten direkt, einschließlich fast aller Module.
sudo apt install nginx-extras
Für das Centos-System installieren Sie das Modul.
yum install nginx-module-geoip
2. Laden Sie die IP-Datenbank herunter
Dieses Modul hängt von der IP-Datenbank ab. Alle Daten werden in dieser Datenbank gelesen und die IP-Bibliothek (DAT-Format) muss heruntergeladen werden.
MaxMind bietet eine kostenlose geografische IP-Datenbank. Die schlechte Nachricht ist, dass MaxMind die Unterstützung der IP-Datenbank im dat-Format offiziell eingestellt hat.
Sie können Dateien im DAT-Format an anderen Orten oder in alten Versionen finden. Natürlich sind die Daten möglicherweise nicht die neuesten und es gibt einige Fehler.
Der Download enthält Länder- und Stadtversionen von IPv4 und IPv6.
#下载国家IP库,解压并移动到nginx配置文件目录, sudo wget https://dl.miyuru.lk/geoip/maxmind/country/maxmind.dat.gz gunzip maxmind.dat.gz sudo mv maxmind.dat /etc/nginx/GeoCountry.dat sudo wget https://dl.miyuru.lk/geoip/maxmind/city/maxmind.dat.gz gunzip maxmind.dat.gz sudo mv maxmind.dat /etc/nginx/GeoCity.dat
3. Nginx konfigurieren
Beispiel:
geoip_country /etc/nginx/GeoCountry.dat; geoip_city /etc/nginx/GeoCity.dat; server { listen 80; server_name 144.11.11.33; location / { root /var/www/html/; index index.html index.htm; if ($geoip_country_code = CN) { return 403; #中国地区,拒绝访问。返回403页面 } } }
Hier sind die regionalen und länderspezifischen Grundeinstellungen abgeschlossen.
Geoip andere Parameter:
Länderbezogene Parameter:$geoip_country_code #Zweistelliger englischer Ländercode. Beispiel: CN, US$geoip_country_code3 #Dreistelliger englischer Ländercode. Zum Beispiel: CHN, USA
$geoip_country_name #Der vollständige englische Name des Landes. Beispiel: China, Vereinigte Staaten
Stadtbezogene Parameter:
$geoip_city_country_code # ist ebenfalls ein zweistelliger englischer Ländercode.
$geoip_city_country_code3 #Wie oben
$geoip_city_country_name #Wie oben.
$geoip_region #Dies wurde als zweistellige Zahl getestet, z. B. 02 für Hangzhou und 23 für Shanghai. Es wurden jedoch keine relevanten Informationen gefunden. Ich hoffe, dass Freunde, die davon wissen, eine Nachricht hinterlassen können.
$geoip_city #Der englische Name der Stadt. Zum Beispiel: Hangzhou
$geoip_postal_code #Die Postleitzahl der Stadt. Nach dem Test ist dieses Feld in China leer
$geoip_city_continent_code #Ich weiß nicht, wofür es verwendet wird, aber es scheint AS in China zu sein
$geoip_latitude #Latitude
$geoip_longitude #Longitude
Das obige ist der detaillierte Inhalt vonWie legen Websites über Nginx IP-Beschränkungen für die Black-/Whitelist sowie IP-Zugriffsbeschränkungen für Länder und Städte fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



So konfigurieren Sie einen Nginx -Domänennamen auf einem Cloud -Server: Erstellen Sie einen Datensatz, der auf die öffentliche IP -Adresse des Cloud -Servers zeigt. Fügen Sie virtuelle Hostblöcke in die NGINX -Konfigurationsdatei hinzu, wobei der Hörport, Domänenname und das Root -Verzeichnis der Website angegeben werden. Starten Sie Nginx neu, um die Änderungen anzuwenden. Greifen Sie auf die Konfiguration des Domänennamens zu. Weitere Hinweise: Installieren Sie das SSL -Zertifikat, um HTTPS zu aktivieren, sicherzustellen, dass die Firewall den Verkehr von Port 80 ermöglicht, und warten Sie, bis die DNS -Auflösung wirksam wird.

Die Methoden, die die Nginx -Version abfragen können, sind: Verwenden Sie den Befehl nginx -v; Zeigen Sie die Versionsrichtlinie in der Datei nginx.conf an. Öffnen Sie die Nginx -Fehlerseite und sehen Sie sich den Seitentitel an.

Das Starten eines Nginx-Servers erfordert unterschiedliche Schritte gemäß verschiedenen Betriebssystemen: Linux/UNIX-System: Installieren Sie das NGINX-Paket (z. B. mit APT-Get oder Yum). Verwenden Sie SystemCTL, um einen Nginx -Dienst zu starten (z. B. sudo systemctl start nginx). Windows -System: Laden Sie Windows -Binärdateien herunter und installieren Sie sie. Starten Sie Nginx mit der ausführbaren Datei nginx.exe (z. B. nginx.exe -c conf \ nginx.conf). Unabhängig davon, welches Betriebssystem Sie verwenden, können Sie auf die Server -IP zugreifen

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So bestätigen Sie, ob Nginx gestartet wird: 1. Verwenden Sie die Befehlszeile: SystemCTL Status Nginx (Linux/Unix), Netstat -ano | FindStr 80 (Windows); 2. Überprüfen Sie, ob Port 80 geöffnet ist; 3. Überprüfen Sie die Nginx -Startmeldung im Systemprotokoll. 4. Verwenden Sie Tools von Drittanbietern wie Nagios, Zabbix und Icinga.

Wie konfiguriere ich Nginx in Windows? Installieren Sie NGINX und erstellen Sie eine virtuelle Hostkonfiguration. Ändern Sie die Hauptkonfigurationsdatei und geben Sie die Konfiguration der virtuellen Host ein. Starten oder laden Nginx neu. Testen Sie die Konfiguration und sehen Sie sich die Website an. Aktivieren Sie selektiv SSL und konfigurieren Sie SSL -Zertifikate. Stellen Sie die Firewall selektiv fest, damit Port 80 und 443 Verkehr.

Um ein JAR -Programm auf Nginx bereitzustellen, müssen sieben Schritte befolgt werden: 1) Installieren Sie JRE, 2) Installieren von Nginx, 3) Konfigurieren von Nginx, 4) JAR bereitstellen, 5) Ausführungsberechtigungen zu Gewähren, 6) Nginx neu starten, 7) Überprüfen Sie die Bereitstellung.

Um Nginx dazu zu bringen, Apache auszuführen, müssen Sie: 1. Installieren von Nginx und Apache; 2. Konfigurieren Sie den Nginx -Agenten; 3.. Starten Sie Nginx und Apache; 4. Testen Sie die Konfiguration, um sicherzustellen, dass Sie den Apache -Inhalt nach dem Zugriff auf den Domänennamen sehen können. Darüber hinaus müssen Sie auf andere Angelegenheiten wie die Anpassung der Portnummer, die virtuelle Hostkonfiguration und die SSL/TLS -Einstellungen achten.
