Блокировка пользователей по странам NGINX + GeoIP
  • Добавил Win32
  • Добавлен в 15.04.2015
  • Просмотров 3,470
  • Смотреть другие уроки в категории Linux сервер
В данном уроке, мы покажем Вам как "скрыть" свой сайт от нужной вам страны, или наоборот, разрешить заходить на Ваш сайт с определенных стран. Итак, поехали.. Если у Вас уже стоит nginx то нужно проверить наличие модуля --with-http_geoip_module в сборке:
nginx -V
Если появился ключ --with-http_geoip_module значит модуль установлен. Если же у Вас нет nginx, то для его установки необходимо добавить репозиторий:
wget -q -O - http://www.atomicorp.com/installers/atomic | sh
И ставим nginx, который уже собран с включённым модулем GeoIP:
yum install nginx
или
apt-get install nginx
После установки всех компонентов приступаем к настройке: открываем
/etc/nginx/nginx.conf
В блок http, перед всеми include прописываем следующее:
geoip_country /usr/share/GeoIP/GeoIP.dat;
 map $geoip_country_code $allowed_country {
        default yes;
        CN no;
        IN no;
        PK no;
}
Данным конфигом мы запретили сайт для пользователей Китая, Индии и Пакистана. Сокращенные обозначения всех стран можете посмотреть тут - http://admi.me/lesson-sokraschnnyie-nazvaniya-stran-8 Если нужно разрешить использование сайта только пользователям определенных стран, перепишем конфиг следующим образом:
geoip_country /usr/share/GeoIP/GeoIP.dat;
    map $geoip_country_code $allowed_country {
        default no;
        RU yes;
        UA yes;
    }
Теперь сайт будет доступен только пользователям из России и Украины. Осталось сделать последний штрих – запретить пользователям, которые подпадают под запрет, использовать наш сайт. Будем отправлять им ошибку 404. Для этого зайдем в конфиг хоста и в секции server {} добавим следующие строки:
if ($allowed_country = no) {
            return 404;
        }
Напоследок перезагружаем nginx
service nginx restart
Готово!
Поделись с друзьями:
блокировка, nginx, стран, geoip, модуль, http_geoip_module, установка, страны
0 комментарии
Пожалуйста, авторизуйтесь для добавления комментария.
Пока нет комментариев.
Мы в соц. сетях