real_ip_recursive

Директива `real_ip_recursive` включает рекурсивную замену IP-адреса клиента, полученного от доверенных прокси, в NGINX.

Синтаксисreal_ip_recursive on | off;
По умолчаниюoff
Контекстhttp, server, location
Аргументыflag

Описание

Директива real_ip_recursive заставляет NGINX рекурсивно просматривать список доверенных адресов в поисках реального IP клиента, когда присутствуют заголовки X-Forwarded-For или X-Real-IP. Это особенно полезно, когда используются несколько прокси, поскольку позволяет NGINX получить исходный IP-адрес клиента. Когда директива включена, если в заголовке содержится несколько IP-адресов, NGINX разберет их и определит фактический IP клиента на основе конфигурации доверенных прокси.

При установке директивы real_ip_recursive в 'on' NGINX будет сверять значения заголовков с указанными доверенными адресами и заменять реальный IP клиента только если он совпадает с одним из этих адресов. Напротив, если директива установлена в 'off', NGINX будет использовать только непосредственный IP клиента, игнорируя дальнейшую обработку через дополнительные прокси. Такое поведение важно для обеспечения корректности механизмов управления доступом и логирования, чтобы они точно отражали истинное происхождение клиента в распределённых архитектурах, например в средах с балансировкой нагрузки.

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

http {
    set_real_ip_from 192.168.1.0/24;
    real_ip_recursive on;
}

Убедитесь, что доверенные IP-адреса правильно настроены с помощью set_real_ip_from. Неправильная конфигурация может привести к тому, что IP-адрес клиента будет определён неверно.

В средах с несколькими прокси, если не включить эту директиву, в логах может оказаться неверный IP или он может быть использован для контроля доступа.

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