Spec-Zone.ru › nginx

Модуль ngx_http_geoip_module

  • Пример конфигурации
  • Директивы
  • geoip_country
  • geoip_city
  • geoip_org
  • geoip_proxy
  • geoip_proxy_recursive

Модуль 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API