Block IP per Region NGINX
| Linux
Für den Geo-IP Block brauchen wir die zusätzliche Erweiterung von NGINX mit der geoip-database. Dies erfolgt ganz einfach, sowie alle anderen Linux Installationen auch:
- sudo apt update
- sudo apt install geoip-database libgeoip1
Nun ergänzen wir die Konfiguration von NGINX mit einer Bedingung, welche Länder für unsere Seite zugelassen sind. Hier findest du eine Liste aller Ländercodes.
- sudo vi /etc/nginx/nginx.conf
- im http Bereich:
http{
...
geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default no;
AT yes;
}
...
} - sudo vi /etc/nginx/sites-available/<sitename>
- nun im location Bereich die Bedingung einfügen:
location / { ... if ($allowed_country = no) { return 444; } ... }
Im Schritt 2 können n-Länder hinzugefügt werden um die Bedingung zu erweitern. Hier stellen wir standardmäßig ein, das nur keine Länder erlaubt sind, außer Österreich. Sonst bekommt kein anderes Land eine Antwort. Es ist auch Möglich die Bedingung umzudrehen, indem wir "default yes;" setzen und dann einzelne Länder sperren "US no;"
Gib mir Feedback!
Hab ich Blödsinn geschrieben oder etwas vergessen? Dann zögere nicht weiter und lass es mich sofort wissen indem du hier einen Kommentar hinterlässt!