real_ip_header
Директива real_ip_header задаёт имя HTTP-заголовка, используемого для получения реального IP-адреса клиента. — NGINX HTTP Core
Описание
Директива `real_ip_header` используется для определения того, какой HTTP-заголовок должен содержать реальный IP-адрес клиента, когда сервер NGINX находится за обратным прокси или балансировщиком нагрузки. Эта директива необходима для корректного логирования и обработки запросов клиентов, поскольку позволяет NGINX извлекать оригинальный IP клиента, а не IP прокси, пересланного запросом. При её настройке NGINX проверяет указанный заголовок во входящих запросах и использует его значение для замены значения, полученного из сокета. Это особенно полезно в сценариях с несколькими прокси, когда нужно гарантировать, что приложение правильно определяет исходный IP клиента. Директива принимает один аргумент, которым обычно является заголовок вроде `X-Forwarded-For`, `X-Real-IP` или пользовательский заголовок, используемый в вашей инфраструктуре. Директиву можно размещать в контекстах `http`, `server` или `location`, что даёт гибкость в зависимости от вашей архитектуры.
Пример конфига
http {
real_ip_header X-Forwarded-For;
}Убедитесь, что прокси или балансировщик нагрузки настроен на отправку корректного заголовка с реальным IP клиента.
Неправильная конфигурация может привести к подделке, при которой ненадёжные клиенты смогут установить заголовок в любое произвольное значение.
Использование нескольких обратных прокси может потребовать дополнительной настройки для корректной передачи заголовков между ними.