Anforderungen: Verwenden Sie nginx, um einige IPs am Zugriff auf Websites wie Crawler, Werbung usw. zu blockieren. Oder aus politischen Gründen muss man den Zugriff von einer IP-Adresse in einem bestimmten Land blockieren.
Blockieren Sie den angegebenen IP-Zugriff
Nginx bietet zwei der grundlegendsten Befehle zum Maskieren und Erlauben von IPs: deny to block und allow to allow, wie folgt:
Geben Sie ein Verzeichnis an, um den Zugriff auf bestimmte IPs zu blockieren
In der Konfigurationsdatei von Nginx können Sie Standortblöcke verwenden, um spezifische URL-Pfade abzugleichen. Zum Beispiel möchten wir das Maskieren von URL-Pfaden ermöglichen, die mit /foo beginnen, wobei alle URL-Pfade, die mit /foo beginnen, wie /foo/bar und /foo/baz/qux usw., wie folgt, abgestimmt werden:
Wenn du willstExakte Übereinstimmung /fooum folgende Konfiguration zu verwenden:
Du kannst das Verzeichnis auch mit Regex abgleichen:
Blockieren Sie den Zugang zum angegebenen Land (Region).
Manchmal wollen wir nur bestimmten Regionen den Zugriff auf unsere Website erlauben. Mit den oben genannten beiden Methoden bleibt das verbleibende Problem, wie man alle IP-Segmente in einer bestimmten Region bekommt. Wir können es von ip2location bekommen. Adresse:Der Hyperlink-Login ist sichtbar.
Wählen Sie das Land auf der linken Seite des Kästchens aus, wählen Sie V4 oder V6 im mittleren Feld und wählen Sie rechts den Regeltyp. Nehmen wir Japan als Beispiel:
Laden Sie sie herunter und entpacken, um die txt-Datei zu erhalten,Lösche den ersten Standort / { und den letzten },Fügt schließlich eine Zeile allow all hinzu;Ändere den Suffixnamen von .txt zu .conf und lade es auf den Server hoch, wobei du dir das Verzeichnis merkst, in dem es platziert wurde. (z. B. /usr/local/nginx/conf/nginx.conf/firewall.conf)
Ändern Sie die Nginx-Konfigurationsdatei, die dem Standort entspricht, wie zum Beispiel das /foo-Verzeichnis, sodass nur Zugriff von nicht-japanischen IPs erlaubt wird:
Wenn Sie es site-wide haben möchten, können Sie zum Beispiel in das Feld Sever oder http schreiben:
Geben Sie dann folgenden Befehl ein, um die nginx-Konfiguration neu zu laden:
|