Richten Sie GeoIP-basiertes Blockieren mit Apache auf Ubuntu oder Debian ein. Das GeoIP-Modul ermöglicht es dem Administrator, Datenverkehr basierend auf dem Standort zu blockieren oder umzuleiten.
In diesem Handbuch erfahren Sie, wie Sie das GeoIP-Modul installieren und konfigurieren, um bestimmte Länder zu blockieren.
Voraussetzungen
Apache installiert und konfiguriert. In dieser Anleitung erfahren Sie, wie Sie Apache2 installieren und konfigurieren.
GeoIP-Modul installieren
Installieren Sie das GeoIP-Modul für Apache mit dem folgenden Befehl.
sudo apt install libapache2-mod-geoip
Dieser Befehl installiert das erforderliche Modul für Apache.
GeoIP aktivieren
Es gibt 2 Methoden, um GeoIP zu aktivieren. Wenn Sie GeoIP serverweit aktivieren möchten, können Sie Methode 1 befolgen. Bei dieser Methode treten einige Leistungsprobleme auf.
Sie können GeoIP auch über Ihre virtuelle Hostkonfiguration aktivieren.
Methode 1 – Serverweite Konfiguration
Sobald das Modul installiert ist, bearbeiten Sie die Modulkonfiguration und nehmen Sie die unten aufgeführten Änderungen vor.
Bearbeiten Sie die Konfigurationsdatei des Dateimoduls.
sudo nano /etc/apache2/mods-available/geoip.conf
- Setzen Sie die Zeile GeoIPEnable von Aus auf Ein .
- Entkommentieren Sie die GeoIPDBFile Linie.
Ihre endgültige Datei sollte wie unten aussehen.
<IfModule mod_geoip.c> GeoIPEnable On GeoIPDBFile /usr/share/GeoIP/GeoIP.dat </IfModule>
Speichern und beenden Sie die Datei.
Modul aktivieren.
sudo a2enmod geoip
Methode 2 – Konfiguration des virtuellen Hosts
Da Sie das Modul installiert haben, sollten Sie auch die GeoIP-Datenbank installiert haben. Sie können also einfach Ihre Konfiguration des virtuellen Hosts bearbeiten und die folgenden Änderungen vornehmen.
Bearbeiten Sie Ihre Konfiguration des virtuellen Hosts.
sudo nano /etc/apache2/sites-available/virtualhost.conf
Fügen Sie Folgendes unter dem ServerAlias hinzu Richtlinie.
GeoIPEnable On GeoIPDBFile /usr/share/GeoIP/GeoIP.dat GeoIPScanProxyHeaders On
Speichern und beenden Sie die Datei.
Apache neu starten
Überprüfen Sie, ob die Konfiguration korrekt ist, und starten Sie Apache neu.
sudo apachectl configtest sudo service apache2 restart
Jetzt haben Sie GeoIP aktiviert.
Einschränkungen verwalten
Bestimmte Länder sperren
Erstellen oder öffnen Sie die .htaccess-Datei, die sich in Ihrem Web-Root-Verzeichnis befindet, und fügen Sie das folgende Snippet hinzu, um Länder zu blockieren.
SetEnvIf GEOIP_COUNTRY_CODE UA BlockCountry SetEnvIf GEOIP_COUNTRY_CODE VN BlockCountry Deny from env=BlockCountry
Die obige Konfiguration blockiert Anfragen aus den oben genannten 2 Ländern. Sie können nach Ihren Wünschen hinzufügen.
Bestimmte Länder zulassen
Erstellen oder öffnen Sie die .htaccess-Datei, die sich in Ihrem Web-Root-Verzeichnis befindet, und fügen Sie das folgende Snippet hinzu, um Länder zuzulassen.
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry Deny from all Allow from env=AllowCountry
Die obige Konfiguration erlaubt nur Anfragen aus den oben genannten 2 Ländern. Sie können nach Ihren Wünschen hinzufügen.
Sie finden die Liste der Ländercodes aus der offiziellen maxmind-Datenbank.
Schlussfolgerung
Jetzt haben Sie gelernt, wie Sie GeoIP-basierte Beschränkungen mit Apache auf Ihren Ubuntu- oder Debian-Servern konfigurieren.
Vielen Dank für Ihre Zeit. Wenn Sie auf ein Problem oder Feedback stoßen, hinterlassen Sie bitte unten einen Kommentar.