geoip_city

Директива `geoip_city` позволяет настроить запросы геолокации по IP-адресу для получения информации на уровне города. — NGINX HTTP Core

geoip_city
http
Синтаксисgeoip_city /path/to/GeoIPCity.dat;
По умолчаниюnone
Контекстhttp
МодульNGINX HTTP Core
Аргументы1-2

Описание

Директива `geoip_city` разработана для расширения возможностей HTTP-сервера NGINX по принятию географических решений на основе IP-адреса клиента путём обращения к базе данных GeoIP. Указывая путь к базе данных GeoIP city, эта директива позволяет NGINX определять и задавать переменные на основе географического положения входящих запросов. Когда директива `geoip_city` используется в контексте `http`, она принимает один или два аргумента: путь к файлу базы данных GeoIP city и, опционально, дополнительный аргумент для указания флага обработки некорректных IP-адресов. Директива обрабатывает входящие запросы, сопоставляет IP клиента с записями в указанной базе данных GeoIP и делает доступными данные геолокации на уровне города (например, название города, регион и страна) для использования в конфигурации. Эта геоинформация затем может использоваться в правилах доступа, форматировании файлов журналов и даже для персонализации содержимого. Директива обычно полезна для приложений, которым требуется целевая доставка контента в зависимости от географического положения пользователя, таких как локализованная реклама или соблюдение местных регуляций. Важно поддерживать файл базы данных GeoIP в актуальном состоянии, так как соответствия IP→местоположение могут часто меняться. Некорректные или устаревшие данные могут привести к плохому пользовательскому опыту из-за неточностей в детализации геолокации.

Пример конфига

http {
    geoip_city /usr/share/GeoIP/GeoIPCity.dat;
    server {
        location / {
            if ($geoip_city) {
                add_header X-City $geoip_city;
            }
        }
    }
}

Убедитесь, что указанный файл базы данных GeoIP существует и доступен пользователю NGINX.

Использование устаревшей базы данных GeoIP может привести к неточным данным геолокации.

Если используется управление доступом на основе переменных, убедитесь, что заданы соответствующие условия для обработки случаев, когда не возвращаются данные геолокации.