Nastavte blokování založené na GeoIP pomocí Apache na Ubuntu nebo Debianu. Modul GeoIP umožňuje správci blokovat nebo přesměrovat provoz na základě polohy.
V této příručce se dozvíte, jak nainstalovat modul GeoIP a nakonfigurovat jej tak, aby blokoval konkrétní země.
Předpoklady
Apache nainstalován a nakonfigurovaný. Můžete se podívat na tuto příručku, jak nainstalovat a nakonfigurovat Apache2.
Instalovat modul GeoIP
Nainstalujte modul GeoIP pro Apache pomocí následujícího příkazu.
sudo apt install libapache2-mod-geoip
Tento příkaz nainstaluje požadovaný modul pro Apache.
Povolit GeoIP
Existují 2 způsoby, jak povolit GeoIP. Pokud chcete povolit GeoIP server široký, můžete postupovat podle metody 1. Tato metoda bude mít určité problémy s výkonem.
GeoIP můžete také povolit z konfigurace virtuálního hostitele.
Metoda 1 – Konfigurace celého serveru
Jakmile je modul nainstalován, upravte konfiguraci modulu a proveďte změny, jak je uvedeno níže.
Upravte konfigurační soubor souborového modulu.
sudo nano /etc/apache2/mods-available/geoip.conf
- Nastavte řádek GeoIPEnable z Vypnuto na Zapnuto .
- Odkomentujte Soubor GeoIPDB řádek.
Váš konečný soubor by měl vypadat takto.
<IfModule mod_geoip.c> GeoIPEnable On GeoIPDBFile /usr/share/GeoIP/GeoIP.dat </IfModule>
Uložte a ukončete soubor.
Povolit modul.
sudo a2enmod geoip
Metoda 2 – Konfigurace virtuálního hostitele
Po instalaci modulu byste měli mít nainstalovanou databázi GeoIP. Stačí tedy upravit konfiguraci virtuálního hostitele a provést následující změny.
Upravte konfiguraci virtuálního hostitele.
sudo nano /etc/apache2/sites-available/virtualhost.conf
Přidejte následující pod ServerAlias směrnice.
GeoIPEnable On GeoIPDBFile /usr/share/GeoIP/GeoIP.dat GeoIPScanProxyHeaders On
Uložte a ukončete soubor.
Restartujte Apache
Zkontrolujte, zda je konfigurace správná a restartujte Apache.
sudo apachectl configtest sudo service apache2 restart
Nyní máte povoleno GeoIP.
Spravovat omezení
Blokovat určité země
Vytvořte nebo otevřete soubor .htaccess, který je v kořenovém adresáři vašeho webu, a přidejte následující úryvek pro blokování zemí.
SetEnvIf GEOIP_COUNTRY_CODE UA BlockCountry SetEnvIf GEOIP_COUNTRY_CODE VN BlockCountry Deny from env=BlockCountry
Výše uvedená konfigurace zablokuje požadavky z výše uvedených 2 zemí. Můžete zahrnout podle svého přání.
Povolit určité země
Vytvořte nebo otevřete soubor .htaccess, který je v kořenovém adresáři vašeho webu, a přidejte následující fragment, abyste povolili země.
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry Deny from all Allow from env=AllowCountry
Výše uvedená konfigurace umožní požadavky pouze z výše uvedených 2 zemí. Můžete zahrnout podle svého přání.
Najdete zde seznam kódů zemí z oficiální databáze maxmind.
Závěr
Nyní jste se naučili, jak nakonfigurovat omezení založená na GeoIP pomocí Apache na vašich serverech Ubuntu nebo Debian.
Díky za váš čas. Pokud narazíte na jakýkoli problém nebo zpětnou vazbu, zanechte prosím komentář níže.