Модуль http_realip
#
Позволяет менять адрес и необязательный порт клиента на переданные в указанном поле заголовка.
Пример конфигурации#
set_real_ip_from 192.168.1.0/24;
set_real_ip_from 192.168.2.1;
set_real_ip_from 2001:0db8::/32;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
Директивы#
set_real_ip_from#
- Синтаксис:
set_real_ip_from
адрес | CIDR | unix:;- Умолчание:
—
- Контекст:
http, server, location
Задаёт доверенные адреса, которые передают верный адрес для замены. Если указано специальное значение “unix:“, доверенными будут считаться все UNIX-сокеты. Доверенные адреса могут быть также заданы при помощи имени хоста.
real_ip_header#
- Синтаксис:
real_ip_header
поле | X-Real-IP | X-Forwarded-For | proxy_protocol;- Умолчание:
real_ip_header X-Real-IP;
- Контекст:
http, server, location
Задаёт поле заголовка запроса, значение которого будет использоваться для замены адреса клиента.
Значение поля заголовка запроса, содержащее необязательный порт, также используется для замены порта клиента. Адрес и порт должны быть указаны согласно RFC 3986.
Параметр proxy_protocol
меняет адрес клиента на указанный в заголовке PROXY-протокола. Протокол PROXY должен быть предварительно включён при помощи установки параметра proxy_protocol в директиве listen.
real_ip_recursive#
- Синтаксис:
real_ip_recursive
on | off;- Умолчание:
real_ip_recursive off;
- Контекст:
http, server, location
При выключенном рекурсивном поиске исходный адрес клиента, совпадающий с одним из доверенных адресов, заменяется на последний адрес, переданный в поле заголовка запроса, заданного директивой real_ip_header. При включённом рекурсивном поиске исходный адрес клиента, совпадающий с одним из доверенных адресов, заменяется на последний не доверенный адрес, переданный в заданном поле заголовка запроса.
Встроенные переменные#
$realip_remote_addr
#
хранит исходный адрес клиента
$realip_remote_port
#
хранит исходный порт клиента