Отправляет email-рассылки с помощью сервиса Sendsay

Про хостинг

  Все выпуски  

Про хостинг Nginx, GeoIP или разрешить доступ из явно запрещенных стран явно определенному ip адресу


Задача интересная, попробую ее описать просто.

Представляем сайт, на сайт ходят все кому не лень, но целевая аудитория только RU. Тут нам поможет GeoIP, ничего сложного!

Внезапно! Появляется клиент, который расположен в LU, или DE, кому как удобнее, со статическим IP, которому необходимо разрешить доступ к данному сайту.

Но мы то помним что для GeoIP валидны только RU адреса, поэтому клиента из LU, или DE, шлем лесом. Клиент соответственно начинает откладывать кирпичи в адрес поддержки сайта, и клиенту доступ повелевают разрешить.

Собственно вопрос понятен из темы, как разрешить этому клиенту, при статическом IP, попасть на сайт, который для него закрыт по GeoIP и при этом всю страну клиента оставить в запрещенных?!

Решение подсказал коллективный разум с Тостера, после комментария “Роскомнадзор, залогинься!”, поступило таки реально рабочее решение, которое я и решил опробовать на нужном мне проекте.

Выглядит правило для Nginx следующим образом:

set $allowed no;
if ($geoip_country_code = RU) {
set $allowed yes;
}
if ($remote_addr = xxx.xxx.xxx.xxx) {
set $allowed yes;
}
if ($allowed = no) {
return 403;
}

Да, чтобы данное правило работало – нужна поддержка GeoIP на уровне Nginx. Сборка Nginx с модулем GeoIP описана в предыдущей статье. Как итог, запрещены все страны кроме RU и явно определенного IP адреса, пусть даже и из заблокированной страны.

Здесь можно оставить свои комментарии. Выпуск подготовленплагином wordpress для subscribe.ru


В избранное