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

js und jquery, um einen Tab-Statusleisten-Umschalteffekt zu erzielen

Heute werden wir einen einfachen Fall durchgehen ...

Wie stellt MySQL eine Verbindung zum entsprechenden Clientprozess her?

Frage Wie können wir bei einer bestimmten MySQL-V...

Linux-Befehl „cut“ erklärt

Der Cut-Befehl in Linux und Unix dient dazu, aus ...

Detaillierte Erklärung zum effizienten Importieren mehrerer SQL-Dateien in MySQL

MySQL bietet mehrere Möglichkeiten, mehrere SQL-D...

Die umfassendste Erklärung des Sperrmechanismus in MySQL

Inhaltsverzeichnis Vorwort Globale Sperre Vollstä...

Detaillierte Schritte zur Installation von Docker 1.8 auf CentOS 7

Docker unterstützt die Ausführung auf den folgend...

Vue3+Skript-Setup+ts+Vite+Volar-Projekt

Inhaltsverzeichnis Erstellen Sie ein Vue + TS-Pro...

So installieren Sie die IonCube-Erweiterung mit Pagoda

1. Installieren Sie zuerst die Pagode Installatio...

Reparaturlösung für inkonsistenten MySQL GTID-Master und -Slave

Inhaltsverzeichnis Lösung 1: Replikate neu erstel...

Allgemeine Tags in XHTML

Was sind XHTML-Tags? XHTML-Tag-Elemente sind die ...