set_real_ip_from
Директива 'set_real_ip_from' указывает доверенные адреса, от которых NGINX будет принимать реальный IP клиента. — NGINX HTTP Core
Описание
Директива `set_real_ip_from` используется в NGINX для определения списка доверенных адресов. Эти адреса применяются для определения реальных IP-адресов клиентов, когда серверы находятся за обратным прокси или балансировщиком нагрузки. Эта директива необходима для точного ведения логов, аналитики и управления доступом на основе реальных IP клиентов, а не IP-адреса обратного прокси или балансировщика нагрузки. Директива работает, позволяя указать один или несколько IP-адресов или диапазонов CIDR (Classless Inter-Domain Routing), которые считаются доверенными источниками. При получении запроса NGINX проверяет исходный адрес на соответствие этому списку. Если запрос приходит с одного из указанных адресов, NGINX будет доверять заголовкам `X-Forwarded-For` или `X-Real-IP`, содержащим реальный IP клиента. В противном случае NGINX будет использовать исходный IP-адрес соединения. Директиву можно размещать в контекстах `http`, `server` или `location`, что даёт гибкость в конфигурации. Это особенно полезно в средах, где NGINX используется как шлюз или обратный прокси, а также когда вышестоящие прокси настроены на пересылку реального IP клиента.
Пример конфига
http {
set_real_ip_from 192.168.1.0/24;
set_real_ip_from 10.0.0.1;
real_ip_header X-Forwarded-For;
}Если вы не настроите эту директиву должным образом, в логах могут появиться некорректные IP-адреса.
Убедитесь, что указаны только доверенные диапазоны IP; в противном случае вы можете подвергнуть своё приложение атакам подмены IP-адресов.
Использование нескольких директив `set_real_ip_from` может привести к путанице; обязательно задокументируйте их назначение.