set_real_ip_from
Директива 'set_real_ip_from' указывает доверенные адреса, от которых NGINX будет принимать реальный IP клиента.
Описание
Директива 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 может привести к путанице; обязательно задокументируйте их назначение.