Директивы модуля ngx_http_geo_module 27.11.2008
Модуль ngx_http_geo_module создаёт переменные, значения которых
зависят от IP-адреса клиента.
СодержаниеПример конфигурации Директивы- geo
Пример конфигурации
geo $geo {
default 0;
127.0.0.1/32 2;
192.168.1.0/24 1;
10.1.0.0/16 1;
}
Директивы syntax: geo $переменная { ... } default: нет context: http
Директива geo описывает для указанной переменной зависимость значения от
IP-адреса клиента. Адреса задаются в виде CIDR или в виде диапазонов (0.7.23).
Кроме того, есть четыре специальных параметра:
-
delete удаляет описанную сеть (0.7.23).
-
default значение переменной, если адрес клиента не соответствует
ни одному заданному адресу.
При использовании CIDR вместо default можно также написать 0.0.0.0/0.
-
include включает файл с адресами и значениями.
Включений может быть несколько.
-
ranges указывает, что адреса задаются в виде диапазонов (0.7.23).
Эта директива должны быть первой.
Для ускорения загрузки гео-базы нужно распослагать адреса в порядке возрастания.
Пример описания:
geo $country {
default no;
include conf/geo.conf;
delete 127.0.0.0/16;
127.0.0.0/24 us;
127.0.0.1/32 ru;
10.1.0.0/16 ru;
192.168.1.0/24 uk;
}
В файле conf/geo.conf могут такие строки:
10.2.0.0/16 ru;
192.168.2.0/24 ru;
В качестве значения выбирается максимальное совпадение, например,
для адреса 127.0.0.1 будет выбрано значение "ru", а не "us".
Пример описания диапазонов:
geo $country {
ranges;
default no;
127.0.0.0-127.0.0.0 us;
127.0.0.1-127.0.0.1 ru;
127.0.0.1-127.0.0.255 us;
10.1.0.0-10.1.255.255 ru;
192.168.1.0-192.168.1.255 uk;
}
(C) Игорь Сысоев http://sysoev.ru |