real_ip_header

Директива real_ip_header задаёт имя HTTP-заголовка, используемого для получения реального IP-адреса клиента.

Синтаксисreal_ip_header string;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива 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 клиента.

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

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

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