GeoIP
Ruslan Ermilov
ru на nginx.com
Вт Сен 8 07:50:06 UTC 2015
On Tue, Sep 08, 2015 at 02:22:56AM -0400, agz wrote:
> map я использую. в секции http:
> geoip_country /usr/share/GeoIP/GeoIP.dat;
> map $geoip_country_code $allowed_country {
> default yes;
> US no;
> UK no;
> }
> Или что то другое Вы имели ввиду?
Можно одновременно определять страну и по списку:
geo $geo_country {
127.0.0.1 RU;
10.0.0.0/8 RU;
}
и по базе GeoIP:
map $geo_country $country {
'' $geoip_country_code;
default $geo_country;
}
Как это работает: если клиентского адреса нет в списке
geo, то страна ($country) определяется по базе GeoIP.
Blacklist по странам также можно сделать при помощи map:
map $country $restricted {
XX 1;
YY 1;
ZZ 1;
}
Останется предпринять нужные действия:
if ($restricted) {
return 403;
}
Подробная информация о списке рассылки nginx-ru