Модуль ngx_http_geoip_module (0.8.6+) создаёт переменные,
значения которых зависят от IP-адреса клиента, используя готовые базы данных
MaxMind.
При использовании баз данных с поддержкой IPv6 (1.3.12, 1.2.7)
IPv4-адреса ищутся отображёнными на IPv6.
По умолчанию этот модуль не собирается, его сборку необходимо
разрешить с помощью конфигурационного параметра
--with-http_geoip_module .
Пример конфигурации
http {
geoip_country GeoIP.dat;
geoip_city GeoLiteCity.dat;
geoip_proxy 192.168.100.0/24;
geoip_proxy 2001:0db8::/32;
geoip_proxy_recursive on;
...
Директивы
синтаксис:
|
geoip_country файл ;
|
умолчание:
|
—
|
контекст:
|
http
|
Задаёт базу данных для определения страны в зависимости
от значения IP-адреса клиента.
При использовании этой базы данных доступны следующие переменные:
$geoip_country_code
-
двухбуквенный код страны, например,
“
RU ”, “US ”.
$geoip_country_code3
-
трёхбуквенный код страны, например,
“
RUS ”, “USA ”.
$geoip_country_name
-
название страны, например,
“
Russian Federation ”, “United States ”.
синтаксис:
|
geoip_city файл ;
|
умолчание:
|
—
|
контекст:
|
http
|
Задаёт базу данных для определения страны, региона и города
в зависимости от значения IP-адреса клиента.
При использовании этой базы данных доступны следующие переменные:
$geoip_area_code
- телефонный код области (только для США).
-
$geoip_city_continent_code
- двухбуквенный код континента, например,
“
EU ”, “NA ”.
$geoip_city_country_code
-
двухбуквенный код страны, например,
“
RU ”, “US ”.
$geoip_city_country_code3
-
трёхбуквенный код страны, например,
“
RUS ”, “USA ”.
$geoip_city_country_name
-
название страны, например,
“
Russian Federation ”, “United States ”.
$geoip_dma_code
-
DMA-код региона в США (также известный как “код агломерации”), согласно
геотаргетингу
Google AdWords API.
$geoip_latitude
- широта.
$geoip_longitude
- долгота.
$geoip_region
-
двухсимвольный код региона страны (область, край, штат,
провинция, федеральная земля и тому подобное), например,
“
48 ”, “DC ”.
$geoip_region_name
-
название региона страны (область, край, штат,
провинция, федеральная земля и тому подобное), например,
“
Moscow City ”, “District of Columbia ”.
$geoip_city
-
название города, например,
“
Moscow ”, “Washington ”.
$geoip_postal_code
-
почтовый индекс.
синтаксис:
|
geoip_org файл ;
|
умолчание:
|
—
|
контекст:
|
http
|
Эта директива появилась в версии 1.0.3.
Задаёт базу данных для определения названия организации
в зависимости от значения IP-адреса клиента.
При использовании этой базы данных доступна следующая переменная:
$geoip_org
-
название организации, например, “The University of Melbourne”.
синтаксис:
|
geoip_proxy адрес | CIDR ;
|
умолчание:
|
—
|
контекст:
|
http
|
Эта директива появилась в версиях 1.3.0 и 1.2.1.
Задаёт доверенные адреса, при запросе с которых будет использоваться
адрес в переданном поле заголовка запроса “X-Forwarded-For”.
синтаксис:
|
geoip_proxy_recursive on | off ;
|
умолчание:
|
geoip_proxy_recursive off;
|
контекст:
|
http
|
Эта директива появилась в версиях 1.3.0 и 1.2.1.
При выключенном рекурсивном поиске вместо исходного адреса клиента,
совпадающего с одним из доверенных адресов, будет использоваться последний
адрес, переданный в “X-Forwarded-For”.
При включённом рекурсивном поиске вместо исходного адреса клиента,
совпадающего с одним из доверенных адресов, будет использоваться последний
не доверенный адрес, переданный в “X-Forwarded-For”.
|