So legen Sie eine Verzeichnis-Whitelist und eine IP-Whitelist in Nginx fest

So legen Sie eine Verzeichnis-Whitelist und eine IP-Whitelist in Nginx fest

1. Legen Sie eine Verzeichnis-Whitelist fest: Legen Sie keine Einschränkungen für den angegebenen Anforderungspfad fest. Wenn Sie beispielsweise Anforderungen im API-Verzeichnis nicht einschränken, können Sie schreiben

Server{
    Standort /App {
      Proxy-Passwort http://192.168.1.111:8095/app;

      limit_conn Verbindung 20;

      Grenzrate 500k;

      limit_req Zone=foo Burst=5 Knotenanzahl; 
    }
    Standort /app/api {
      Proxy-Passwort http://192.168.1.111:8095/app/api
    }
}
# Da nginx einer genauen Übereinstimmung Priorität einräumt, begrenzt die obige Schreibmethode die Pfade im API-Verzeichnis.

2. Um eine IP-Whitelist einzurichten, müssen Sie nginx geo und nginx map verwenden

Wenn keine manuelle Löschung erfolgt (--without-http_geo_module oder --without-http_map_module), lädt nginx standardmäßig die mit ngx-http-geo-module und ngx-http-map-module verbundenen Inhalte.

Mit ngx-http-geo-module können Variablen erstellt werden, deren Werte von der IP-Adresse des Clients abhängen.

ngx-http-map-module kann Variablen basierend auf anderen Variablen und ihren Werten erstellen. Es ermöglicht die Klassifizierung oder das Zuordnen mehrerer Variablen zu unterschiedlichen Werten und deren Speicherung in einer Variablen.

Nginx-Geoformat-Syntax (Syntaxformat): geo [$Adresse] $Variable { ... }
Standard: -
Inhalt (Konfigurationsabschnitt): http
Syntax des Nginx-Map-Formats (Syntaxformat): map String $variable { ... }
Standard:-
Inhalt (Konfigurationsabschnitt): http
 
Whitelist-Konfigurationsbeispiel http{
   # ... Andere Konfigurationsinhalte #Definieren Sie die Whitelist-IP-Listenvariable geo $whiteiplist {
     Standard 1;
     127.0.0.1/32 0;
     64.223.160.0/19 0;
   }
   #Verwenden Sie den Map-Befehl, um die Client-Anforderungs-IP in der Whitelist einer leeren Zeichenfolge zuzuordnen: map $whiteiplist $limit{
     1 $binäre_Remote_Adresse;
     0 "";
   }
   #Anforderungslimitinhalt konfigurieren limit_conn_zone $limit zone=conn:10m;
   limit_req_zone $limit zone=allips:10m Rate=20r/s;
   Server{
     Standort /IhrAnwendungsname {
       Proxy-Passwort http://192.168.1.111:8095/app;
       limit_conn Verbindung 50;
       Grenzrate 500k;
       limit_req Zone=Allips Burst=5 Knotenanzahl;
     }
   }
}
Über die Whitelist-Konfiguration können Anfragen von kooperierenden Kunden, Suchmaschinen etc. gefiltert und eingeschränkt werden (Sonderfallbehandlung)
 
#Wenn Sie nur bestimmte Anfragen beschränken möchten, z. B. nur Post-Anfragen, dann:
http{
   # Andere Anfragen..
   # Adresskarte anfordern map $request_method $limit {
     Standard "";
     POST $binary_remote_addr;
   }
   #Grenzwertdefinition limit_req_zone $limit zone=reqlimit:20m Rate=10r/s;
   Server{
     ... #dieselben wie bei normalen Einschränkungen}
}
#Wenn Sie auf dieser Grundlage eine Whitelist-Einschränkungsverarbeitung für die angegebene Methode durchführen möchten, dann:
http{
   #...
   #Definieren Sie die Whitelist-Karte $whiteiplist $limitips{
     1 $binäre_Remote_Adresse;
     0 "";
   }
 
   #Definieren Sie basierend auf der Whitelist die angegebene Methodenanforderungslimitzuordnung $request_method $limit {
     Standard "";
     # POST $binary_remote_addr;
     POST $limitips;
   }
 
   #Referenz limit_req_zone für die Anfrage $limit zone=reqlimit:20m rate=10r/s;
 
   #Referenzserver im Server{
     #...dasselbe wie normale Grenzwerte}
}

Die obige Methode zum Einrichten einer Verzeichnis-Whitelist und einer IP-Whitelist 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 werden.

Das könnte Sie auch interessieren:
  • Implementierung der Multi-Port-Zuordnung des Nginx-Reverse-Proxys
  • Konfigurationsmethode für die Nginx-Portzuordnung
  • Lösen Sie das Problem „Willkommen bei nginx auf Fedora!“. Nach der Installation von nginx auf Centos7 befindet sich im Verzeichnis conf.d keine Datei default.conf.
  • Suchen Sie das laufende Nginx-Verzeichnis im Linux-System
  • Beispiel für die Installation von nginx in einem angegebenen Verzeichnis
  • So leiten Sie den Nginx-Verzeichnispfad um
  • Detaillierte Erläuterung der Vue-Bereitstellung in Unterverzeichnissen oder sekundären Verzeichnissen über NGINX
  • Implementierungscodebeispiel für die lokale Verzeichniszuordnung von Nginx

<<:  js implementiert das klassische Minesweeper-Spiel

>>:  Erstellen Sie einen stabilen und hochverfügbaren Cluster basierend auf MySQL + MyCat, Lastausgleich, Master-Slave-Replikation und Lese-/Schreibtrennung

Artikel empfehlen

Detailliertes Tutorial zur Installation von MySQL 8.0.20 auf CentOS7.8

1. MySQL-Software installieren Laden Sie das offi...

Detaillierte Erklärung des Übergangsattributs einer einfachen CSS-Animation

1. Verständnis der Übergangsattribute 1. Das Über...

Verständnis und Anwendungsszenarien von Enumerationstypen in TypeScript

Inhaltsverzeichnis 1. Was ist 2. Verwendung Numer...

MySql schnelles Einfügen von zig Millionen großen Datenbeispielen

Im Bereich der Datenanalyse sind Datenbanken unse...

So installieren Sie nginx unter Linux

Nginx wurde in der Programmiersprache C entwickel...

web.config (IIS) und .htaccess (Apache) Konfiguration

xml <?xml version="1.0" encoding=&qu...

So verwenden Sie Umgebungsvariablen in der Nginx-Konfigurationsdatei

Vorwort Nginx ist ein auf Leistung ausgelegter HT...

Komponentendesignspezifikationen für die Entwicklung von WeChat-Miniprogrammen

Designspezifikationen für WeChat Mini-Programmkom...

Erste Schritte Tutorial für Anfänger ⑨: So erstellen Sie eine Portal-Website

Darüber hinaus wird eine mit einem Blog-Programm e...

Shell-Skripteinstellungen zum Verhindern von Brute-Force-SSH

Das Shell-Skript richtet die Zugriffskontrolle ei...