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

Implementierung der Multisite-Konfiguration von Nginx auf Mac M1

Hinweis: nginx über brew installiert Stammverzeic...

MySQL-Datenbankgrundlagen: Eine Zusammenfassung der grundlegenden Befehle

Inhaltsverzeichnis 1. Hilfeinformationen nutzen 2...

Detaillierte Erklärung zum Aktivieren des https-Dienstes in Apache unter Linux

Dieser Artikel beschreibt, wie man den https-Dien...

So verbergen Sie die Grenze/Trennlinie zwischen Zellen in einer Tabelle

Nur den oberen Rand anzeigen <table frame=above...

Wie implementiert MySQL ACID-Transaktionen?

Vorwort Kürzlich wurde ich in einem Interview gef...

Einführung in Kubernetes (k8s)

Ich wollte schon immer Kubernetes lernen, weil es...

So legen Sie einen gepunkteten Rahmen in HTML fest

Verwenden Sie CSS-Stile und HTML-Tag-Elemente Um ...

So löschen Sie eine Eigenschaft eines Objekts in JavaScript

1. löschen delete ist die einzige wirkliche Mögli...

Funktionen in TypeScript

Inhaltsverzeichnis 1. Funktionsdefinition 1.1 Fun...

Einführung des Code-Prüftools stylelint zum Erfahrungsaustausch

Inhaltsverzeichnis Vorwort Text 1. Installieren S...

Fallstudie zu MySQL-Berechtigungen und Datenbankdesign

Berechtigungen und Datenbankdesign Benutzerverwal...

Detaillierte Erklärung der React-Komponentenkommunikation

Inhaltsverzeichnis Einführung in die Komponentenk...