geoip_city

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

Синтаксисgeoip_city /path/to/GeoIPCity.dat;
По умолчаниюnone
Контекстhttp
Аргументы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 может привести к неточным данным геолокации.

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

← Ко всем директивам