1. Проверяем, была ли подключена поддержка HttpGeoipModule
nginx -V | grep http_geoip_module
Если все ок - идем дальше
sudo apt-get install geoip-database libgeoip1
sudo mv /usr/share/GeoIP/GeoIP.dat /usr/share/GeoIP/GeoIP.dat_bak
cd /usr/share/GeoIP/
sudo wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
sudo gunzip GeoIP.dat.gz
sudo nano /etc/nginx/nginx.conf
Добавить в блок http {} перед инклюдами
Вариант 1 ( разрешенео всем, кроме китая)
geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default yes;
CN no;
}
Вариант 2 ( запрещено всем, кроме России и Украины)
geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default no;
RU yes;
UA yes;
}
Изменение в секции server {} ( Возвращаем 404 ошибку)
if ($allowed_country = no) {
return 404;
}
sudo /etc/init.d/nginx reload