real_ip_recursive
Директива `real_ip_recursive` включает рекурсивную замену IP-адреса клиента, полученного от доверенных прокси, в NGINX. — NGINX HTTP Core
Описание
Директива `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 или он может быть использован для контроля доступа.