So blockieren Sie alle Anfragen aus einigen unerwünschten Ländern an einen Ort (nginx)

472
Marek Marcinko

Ich verwende nginx und habe ein Geoip-Datenbank-Contrib- Paket installiert, um den Zugriff auf den / wp-admin-Speicherort aus allen Ländern zu blockieren, außer einigen bevorzugten.

location /wp-admin { if ($allowed_country = no) { return 403; } } 

Es funktioniert gut, wenn Sie versuchen, diese Seite im Browser zu öffnen. Trotzdem kann ich in access.log viele POST-Anforderungen sehen und in Worpdress-Protokollen fehlgeschlagene Anmeldeanforderungen aus abgelehnten Ländern. Kann das Geoip-Datenbank-Contrib-Modul auch für POST-Anfragen verwendet werden?

Ich habe es versucht:

location /wp-admin { if ($allowed_country = no) { deny all; } } 

aber nach dem reload startet nginx überhaupt nicht. Haben Sie Ideen, wie Sie alle Anfragen nur für location / wp-admin blockieren können? Ich möchte den Datenverkehr auf Firewall-Ebene nicht blockieren, da alle Länder Zugriff auf das Web haben sollten. Ich möchte jedoch die Anforderungen an den Administrator beschränken.

Ich weiß, dass ich die Anfrage nur für einige IP-Adressen zulassen könnte, aber ich muss von mehreren Stellen, auf die ich Dyn habe, auf Admin zugreifen. zugewiesene IP.

Vielen Dank für Ihre Ideen.

1
Bitte werfen Sie einen Blick [hier] (https://www.bjornjohansen.no/access-wordpress-by-ip-in-nginx) Ich glaube, es könnte Ihnen helfen. running.t vor 6 Jahren 0
Danke für den Link, aber wie ich schrieb, möchte ich die Anfrage nach Land und nicht die IP-Adresse zulassen / verweigern Marek Marcinko vor 6 Jahren 0
Nun, das einzige, was Sie ändern müssen, ist das Ändern von "$ Allowed_ip" in "$ allowed_country" (vorausgesetzt, Sie haben bereits die gesamte Logik ausgeführt, um festzustellen, ob die Anfrage aus dem erlaubten Land stammt). running.t vor 6 Jahren 0

0 Antworten auf die Frage