Модуль ngx_http_realip_module
Пример конфигурации Директивы set_real_ip_from real_ip_header real_ip_recursive Встроенные переменные |
Модуль ngx_http_realip_module
позволяет
менять адрес и необязательный порт клиента
на переданные в указанном поле заголовка.
По умолчанию этот модуль не собирается, его сборку необходимо
разрешить с помощью конфигурационного параметра
--with-http_realip_module
.
Пример конфигурации
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
|
---|---|
Умолчание: | — |
Контекст: |
http , server , location |
Задаёт доверенные адреса, которые передают верный адрес
для замены.
Если указано специальное значение unix:
,
доверенными будут считаться все UNIX-сокеты.
Доверенные адреса могут быть также заданы при помощи имени хоста (1.13.1).
IPv6-адреса поддерживаются начиная с версий 1.3.0 и 1.2.1.
Синтаксис: |
real_ip_header
|
---|---|
Умолчание: |
real_ip_header X-Real-IP; |
Контекст: |
http , server , location |
Задаёт поле заголовка запроса, значение которого будет использоваться для замены адреса клиента.
Значение поля заголовка запроса, содержащее необязательный порт, также используется для замены порта клиента (1.11.0). Адрес и порт должны быть указаны согласно RFC 3986.
Параметр proxy_protocol
(1.5.12) меняет
адрес клиента на указанный в заголовке PROXY-протокола.
Протокол PROXY должен быть предварительно включён при помощи установки
параметра proxy_protocol
в директиве
listen.
Синтаксис: |
real_ip_recursive |
---|---|
Умолчание: |
real_ip_recursive off; |
Контекст: |
http , server , location |
Эта директива появилась в версиях 1.3.0 и 1.2.1.
При выключенном рекурсивном поиске исходный адрес клиента, совпадающий с одним из доверенных адресов, заменяется на последний адрес, переданный в поле заголовка запроса, заданного директивой real_ip_header. При включённом рекурсивном поиске исходный адрес клиента, совпадающий с одним из доверенных адресов, заменяется на последний не доверенный адрес, переданный в заданном поле заголовка запроса.
Встроенные переменные
$realip_remote_addr
- хранит исходный адрес клиента (1.9.7)
$realip_remote_port
- хранит исходный порт клиента (1.11.0)