Модуль ngx_http_geoip_module
Модуль ngx_http_geoip_module (0.8.6+) создает переменные со значениями, зависящими от IP-адреса клиента, используя предварительно скомпилированные базы данных MaxMind.
При использовании баз данных с поддержкой IPv6 (1.3.12, 1.2.7) IPv4-адреса ищутся как IPv4-адреса, отображаемые в IPv6.
Этот модуль не компилируется по умолчанию, его следует включить с помощью параметра конфигурации --with-http_geoip_module.
Этот модуль требует библиотеку MaxMind GeoIP.
Пример конфигурации
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 file; |
|---|---|
| По умолчанию: | — |
| Контекст: | http |
Указывает базу данных, используемую для определения страны по IP-адресу клиента. При использовании этой базы данных доступны следующие переменные:
$geoip_country_code- двухбуквенный код страны, например, “
RU”, “US”. -
$geoip_country_code3 - трехбуквенный код страны, например, “
RUS”, “USA”. $geoip_country_name- название страны, например, “
Russian Federation”, “United States”.
| Синтаксис: | geoip_city file; |
|---|---|
| По умолчанию: | — |
| Контекст: | 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 в США (также известный как «код метро»), в соответствии с геотаргетингом в API Google AdWords.
$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 file; |
|---|---|
| По умолчанию: | — |
| Контекст: | http |
Эта директива появилась в версии 1.0.3.
Указывает базу данных, используемую для определения организации по IP-адресу клиента. При использовании этой базы данных доступна следующая переменная:
$geoip_org- название организации, например, “The University of Melbourne”.
| Синтаксис: | geoip_proxy address | 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».
© 2002-2021 Igor Sysoev
© 2011-2024 Nginx, Inc.
Licensed under the BSD License.
https://nginx.org/en/docs/http/ngx_http_geoip_module.html