nginx, ограничение по странам
December 9th, 2008
Будем запрещать доступ только если ип проверен по двум базам. т.к. там встречаются ошибки.
Качаем базу
ее надо сконвертить в формат Nginx скриптом geo2nginx.pl
Вторую базу качаем в CIDR формате.
в nginx.conf в http
geo $geo {
default US;
include geo-best.conf;
}
geo $geo2 {
default US;
include worldip.conf;
}
default US;
include geo-best.conf;
}
geo $geo2 {
default US;
include worldip.conf;
}
внутри Location
if ($geo ~ "^(CN)$"){
set $i "a";
}
if ($geo2 ~ "^(CN)$"){
set $i "a$i";
}
if ($i = "aa"){
access_log /var/log/httpd/bad-country.log;
return 403;
}
set $i "a";
}
if ($geo2 ~ "^(CN)$"){
set $i "a$i";
}
if ($i = "aa"){
access_log /var/log/httpd/bad-country.log;
return 403;
}
