So blockieren Sie IP und IP-Bereich in Nginx

So blockieren Sie IP und IP-Bereich in Nginx

Vorne geschrieben

Nginx ist nicht nur ein Reverse-Proxy und Lastausgleichsserver, sondern bietet auch viele leistungsstarke Funktionen, wie z. B. Strombegrenzung, Caching, Blacklist und Whitelist, Graustufen-Veröffentlichung usw. In früheren Artikeln haben wir diese von Nginx bereitgestellten Funktionen vorgestellt. Freunde können als Referenz zu [Nginx-Spezialthema] gehen. Heute stellen wir eine weitere leistungsstarke Funktion von Nginx vor: das Deaktivieren von IP und IP-Bereich.

IP und IP-Bereich deaktivieren

Das Modul ngx_http_access_module von Nginx kann die IP oder das IP-Segment in der Konfiguration blockieren. Die Syntax lautet wie folgt:

IP verweigern;
Subnetz verweigern;
IP zulassen;
Subnetz zulassen;
# alle IPs blockieren
alles leugnen;
# alle IPs zulassen
alles erlauben;

Falls es einen Konflikt zwischen Regeln gibt, hat die erste passende Regel Vorrang.

Konfigurieren und Deaktivieren von IP und IP-Segmenten

Die folgenden Anweisungen gehen davon aus, dass sich das nginx-Verzeichnis in /usr/local/nginx/ befindet.

Erstellen Sie zunächst eine Konfigurationsdatei blockips.conf zum Sperren von IPs, bearbeiten Sie diese Datei anschließend mit vi blockips.conf und tragen Sie die zu sperrende IP in die Datei ein.

1.2.3.4 ablehnen;
verweigern 91.212.45.0/24;
verweigern 91.212.65.0/24;

Speichern Sie dann diese Datei, öffnen Sie die Datei nginx.conf und fügen Sie die folgende Konfigurationszeile im Abschnitt „http-Konfiguration“ hinzu:

blockips.conf einschließen;

Speichern Sie die Datei nginx.conf und testen Sie dann, ob die aktuelle nginx-Konfigurationsdatei gültig ist:

/usr/local/nginx/sbin/nginx -t

Wenn kein Problem mit der Konfiguration vorliegt, wird Folgendes ausgegeben:

Die Syntax der Konfigurationsdatei /usr/local/nginx/conf/nginx.conf ist in Ordnung
Konfigurationsdatei /usr/local/nginx/conf/nginx.conf Test ist erfolgreich

Wenn ein Problem mit der Konfiguration vorliegt, müssen Sie prüfen, wo das Syntaxproblem liegt. Wenn kein Problem vorliegt, müssen Sie den folgenden Befehl ausführen, damit nginx die Konfigurationsdatei neu lädt.

/usr/local/nginx/sbin/nginx -s neu laden

Nur Intranet-IP zulassen

Wie sperre ich alle externen IPs und lasse nur interne IPs zu?

Die folgende Konfigurationsdatei

Standort / {
 # einen Arbeitsplatz blockieren
 192.168.1.1 verweigern;
 # jedem erlauben in 192.168.1.0/24
 192.168.1.0/24 zulassen;
 # Rest der Welt fallen lassen
 alles leugnen;
}

In der obigen Konfiguration ist 192.168.1.1 verboten, andere Intranetsegmente sind erlaubt, und dann werden mit „Alle verweigern“ alle anderen IPs verboten.

Formatieren der 403-Seite von Nginx

Wie formatiere ich die 403-Seite von Nginx?

Führen Sie zunächst den folgenden Befehl aus:

cd /usr/local/nginx/html
vi Fehler403.html

Geben Sie anschließend den Dateiinhalt von 403 ein, zum Beispiel:

<html>
<head><title>Fehler 403 – IP-Adresse blockiert</title></head>
<Text>
Ihre IP-Adresse ist blockiert. Wenn dies ein Fehler ist, kontaktieren Sie binhe bitte mit Ihrer IP unter [email protected]
</body>
</html>

Wenn SSI aktiviert ist, kann die blockierte Client-IP-Adresse in 403 wie folgt angezeigt werden:

Your IP Address is <!--#echo var="REMOTE_ADDR" --> blocked.

Speichern Sie die Datei error403, öffnen Sie dann die Nginx-Konfigurationsdatei vi nginx.conf und fügen Sie den folgenden Inhalt im Abschnitt „Serverkonfiguration“ hinzu.

# Server-Fehlerseiten auf die statische Seite umleiten
 Fehlerseite 403 /error403.html;
 Standort = /error403.html {
     Stamm-HTML;
 }

Speichern Sie anschließend die Konfigurationsdatei und testen Sie mit dem Befehl nginx -t, ob die Konfigurationsdatei korrekt ist. Wenn dies der Fall ist, laden Sie die Konfiguration mit nginx -s reload.

Dies ist das Ende dieses Artikels zum Blockieren von IP und IP-Segmenten in Nginx. Weitere Informationen zum Blockieren von IP und IP-Segmenten in Nginx finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Nginx verwendet Lua+Redis, um IP dynamisch zu blockieren
  • Beispiel für das Blockieren von IPs und Zulassen des Intranet-IP-Zugriffs in nginx

<<:  Was macht die MySQL-Datenbank?

>>:  Vue verwendet MockJS, um simulierte Datenfalldetails zu generieren

Artikel empfehlen

Detaillierte Erklärung der Ansichtszusammenfassungsdefinition im Angular-Framework

Vorwort Als Front-End-Framework, das „für große F...

Dropdown-Menü implementiert durch HTML+CSS3+JS

Ergebnisse erzielen html <div Klasse="Con...

Verwenden von Textschatten- und Elementschatteneffekten in CSS

Einführung in Textschatten Verwenden Sie in CSS d...

mysql5.7.18 dekomprimierte Version zum Starten des MySQL-Dienstes

Die dekomprimierte Version von mysql5.7.18 starte...

Docker verwendet ein einzelnes Image zum Zuordnen zu mehreren Ports

brauchen: Der Ressourcenserver der offiziellen We...

Was bedeutet das „a“ in rgba? CSS RGBA-Farbleitfaden

RGBA ist eine CSS-Farbe, mit der Farbwert und Tra...

So verwenden Sie das Modul-FS-Dateisystem in Nodejs

Inhaltsverzeichnis Überblick Dateideskriptoren Sy...

Vue3 kapselt die Textskelett-Effektkomponente der Seitennavigation

Vue3-Projektkapselung Seitennavigation Textskelet...

Detaillierte Erläuterung des Garbage Collection-Mechanismus von JavaScript

Inhaltsverzeichnis Warum brauchen wir Garbage Col...

Detaillierte Erklärung dieser Referenz in React

Inhaltsverzeichnis Ursache: durchlaufen: 1. Konst...

Über die MariaDB-Datenbank unter Linux

Inhaltsverzeichnis Über die MariaDB-Datenbank unt...