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

Natives JS zum Erzielen von Book-Flipping-Effekten

In diesem Artikel wird ein mit nativem JS impleme...

Analyse der Benutzererfahrung beim Design von Facebook-Dating-Websites

<br />Verwandter Artikel: Analyse der Inform...

Verwendung und Demonstration von ref in Vue

Ref-Definition: Wird verwendet, um Referenzinform...

Docker erstellt Python Flask+ Nginx+Uwsgi-Container

Installieren Sie Nginx Ziehen Sie zuerst das Cent...

Die einfachste Formularimplementierung des Flexbox-Layouts

Flexibles Layout (Flexbox) erfreut sich zunehmend...

Das Prinzip und die Richtung von JavaScript

Wie lässt sich feststellen, worauf dies hinweist?...

3 einfache Möglichkeiten, Karusselleffekte mit JS zu erzielen

In diesem Artikel werden 3 Methoden beschrieben, ...

Grundlegendes Nutzungs-Tutorial zur IPTABLES-Firewall unter LINUX

Vorwort Für Produktions-VPS mit öffentlicher IP w...