Pull to refresh

Блокируем китайцев

Reading time1 min
Views9K
Ниже пойдет текст достойный пера К.О.

Китайский трафик велик и беспощаден. Когда какая-нибудь смешная или не очень картинка попадает в китайские блоги, провайдер colocation начинает обижаться и рассказывать про несоответствие соотношений 3 к 2 российского и зарубежного трафика.

В очередной раз словив попадание ню фотосета с одного из проектов на просторы чайнанета (боже мой, сколько у них популярных блогов) и посчитав, во что может выльется эта экспансия на восток, решил ограничить наших глубокоуважаемых желтокожих братьев по планете.

Примеров реализации есть несколько (ngx_http_geo_module, ngx_http_geoip_module или обычным deny), наиболее эффективный с помощью ngx_http_geo_module и базы wipmania (http://www.wipmania.com/ru/base/)

Облегчение на одном из серверов.
image


http {
...
geo $geo {
include geoip.conf;
default XX;
}

}

server {

if ($geo = CN)
{
return 403;
}

...
}


Если нужно закрыться ото всех, оставив несколько стран, то поможет такая реализация

server {
...
#дефолтовый флаг
set $a 0;

if ($geo = RU)
{
set $a 1;
}

if ($geo = UA)
{
set $a 1;
}

#неизвестные ipшки пусть ходят
if ($geo = XX)
{
set $a 1;
}

if ($a = 0)
{
return 403;
}
...
}


UPD! В этом случае правильнее выдавать 444, спасибо rolltin
Tags:
Hubs:
+20
Comments58

Articles