Модуль ngx_stream_geoip_module
| Пример конфигурации Директивы geoip_country geoip_city geoip_org |
Модуль ngx_stream_geoip_module (1.11.3) создаёт переменные,
значения которых зависят от IP-адреса клиента, используя готовые
базы данных MaxMind.
Начиная с версии 1.31.7,
модуль поддерживает базы данных в формате MaxMind DB (MMDB).
По умолчанию этот модуль не собирается, его сборку необходимо
разрешить с помощью конфигурационного параметра
--with-stream_geoip_module.
Для сборки и работы модуля необходима библиотека libmaxminddb для баз данных в формате MMDB (1.31.7) или библиотека GeoIP Legacy C для баз данных в формате DAT.
При использовании баз данных в формате DAT с поддержкой IPv6 IPv4-адреса ищутся отображёнными на IPv6. При использовании баз данных в формате MMDB IPv6-адреса, в которые отображены IPv4-адреса, ищутся как IPv4-адреса.
Пример конфигурации
stream {
geoip_country GeoLite2-Country.mmdb;
geoip_city GeoLite2-City.mmdb;
map $geoip_city_continent_code $nearest_server {
default example.com;
EU eu.example.com;
NA na.example.com;
AS as.example.com;
}
...
}
Директивы
| Синтаксис: |
geoip_country |
|---|---|
| Умолчание: | — |
| Контекст: |
stream |
Задаёт базу данных для определения страны в зависимости от значения IP-адреса клиента. При использовании этой базы данных доступны следующие переменные:
$geoip_country_code-
двухбуквенный код страны, например,
“
RU”, “US”. $geoip_country_code3-
трёхбуквенный код страны, например,
“
RUS”, “USA”. $geoip_country_name-
название страны, например,
“
Russian Federation”, “United States”.
| Синтаксис: |
geoip_city |
|---|---|
| Умолчание: | — |
| Контекст: |
stream |
Задаёт базу данных для определения страны, региона и города в зависимости от значения 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- код региона страны (область, край, штат, провинция, федеральная земля и тому подобное).
$geoip_region_name-
название региона страны (область, край, штат,
провинция, федеральная земля и тому подобное), например,
“
Moscow City”, “District of Columbia”. $geoip_city-
название города, например,
“
Moscow”, “Washington”. $geoip_postal_code- почтовый индекс.
| Синтаксис: |
geoip_org |
|---|---|
| Умолчание: | — |
| Контекст: |
stream |
Задаёт базу данных для определения названия организации в зависимости от значения IP-адреса клиента. При использовании этой базы данных доступна следующая переменная:
$geoip_org- название организации, например, “The University of Melbourne”.