GeoIP#

Создает переменные, значения которых зависят от IP-адреса клиента, используя готовые базы данных MaxMind или их аналоги.

При использовании баз данных с поддержкой IPv6 IPv4-адреса ищутся отображенными на IPv6.

При сборке из исходного кода модуль не собирается по умолчанию; его необходимо включить с помощью параметра сборки ‑‑with‑http_geoip_module.

Важно

Для этого модуля нужна база данных MaxMind MaxMind GeoIP или ее аналог, например MaxMind GeoLite2 или ЦМУ ССОП.

Пример конфигурации#

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#

Синтаксис

geoip_country файл;

По умолчанию

Контекст

http

Задает базу данных для определения страны в зависимости от значения IP-адреса клиента. При использовании этой базы данных доступны следующие переменные:

$geoip_country_code

двухбуквенный код страны, например, «RU», «US».

$geoip_country_code3

трехбуквенный код страны, например, «RUS», «USA».

$geoip_country_name

название страны, например, «Russian Federation», «United States».

geoip_city#

Синтаксис

geoip_city файл;

По умолчанию

Контекст

http

Задает базу данных для определения страны, региона и города в зависимости от значения IP-адреса клиента. При использовании этой базы данных доступны следующие переменные:

$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#

Синтаксис

geoip_org файл;

По умолчанию

Контекст

http

Задает базу данных для определения названия организации в зависимости от значения IP-адреса клиента. При использовании этой базы данных доступна следующая переменная:

$geoip_org

название организации, например, «The University of Melbourne».

geoip_proxy#

Синтаксис

geoip_proxy файл;

По умолчанию

Контекст

http

Задает доверенные адреса, при запросе с которых будет использоваться адрес в переданном поле заголовка запроса «X-Forwarded-For».

geoip_proxy_recursive#

Синтаксис

geoip_proxy_recursive on | off;

По умолчанию

geoip_proxy_recursive off;

Контекст

http

При выключенном рекурсивном поиске вместо исходного адреса клиента, совпадающего с одним из доверенных адресов, будет использоваться последний адрес, переданный в «X-Forwarded-For». При включенном рекурсивном поиске вместо исходного адреса клиента, совпадающего с одним из доверенных адресов, будет использоваться последний не доверенный адрес, переданный в «X-Forwarded-For».