Inhaltsverzeichnis
1. Black/White-List-IP-Zugriffsbeschränkungskonfiguration
1. Die ersten Methoden: Zulassen, Verweigern und Zulassen gehören standardmäßig zu ngx_http_access_module, sodass es direkt verwendet werden kann.
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.
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.
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.
ngx_http_geoip_module: Offizielles Dokument, die Parameter müssen im http-Modul festgelegt werden.
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.
Beispiel:
Heim Betrieb und Instandhaltung Nginx 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?

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?

Jun 01, 2023 pm 05:27 PM
nginx ip

    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;
    }
    Nach dem Login kopieren

    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;
    }
    Nach dem Login kopieren

    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;
    Nach dem Login kopieren

    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;
        }
    Nach dem Login kopieren

    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看到的信息只显示服务器错误,无法判断真正原因。
        }
    Nach dem Login kopieren

    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;
    Nach dem Login kopieren

    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;
         }
     }
    Nach dem Login kopieren

    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
    Nach dem Login kopieren

    Für das Centos-System installieren Sie das Modul.

    yum install nginx-module-geoip
    Nach dem Login kopieren

    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
    Nach dem Login kopieren

    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页面
    		}
      	}
     }
    Nach dem Login kopieren

    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!

    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    Video Face Swap

    Video Face Swap

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

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx So konfigurieren Sie den Namen des Cloud -Server -Domänennamens in Nginx Apr 14, 2025 pm 12:18 PM

    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.

    So überprüfen Sie die Nginx -Version So überprüfen Sie die Nginx -Version Apr 14, 2025 am 11:57 AM

    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.

    So starten Sie den Nginx -Server So starten Sie den Nginx -Server Apr 14, 2025 pm 12:27 PM

    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

    So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

    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 überprüfen Sie, ob Nginx gestartet wird So überprüfen Sie, ob Nginx gestartet wird Apr 14, 2025 pm 01:03 PM

    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.

    So konfigurieren Sie Nginx in Windows So konfigurieren Sie Nginx in Windows Apr 14, 2025 pm 12:57 PM

    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.

    So bereitstellen Sie das JAR -Programm in Nginx bereit So bereitstellen Sie das JAR -Programm in Nginx bereit Apr 14, 2025 pm 12:09 PM

    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.

    So führen Sie Nginx Apache aus So führen Sie Nginx Apache aus Apr 14, 2025 pm 12:33 PM

    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.

    See all articles