view xml/ru/docs/http/ngx_http_realip_module.xml @ 2846:fdf1464e1977

Moved banner to the external file to make partial rollout possible. An idea is to have several banners and show them with different probability specified by split directive in the nginx.conf
author Sergey Budnevitch <sb@waeme.net>
date Tue, 10 May 2022 18:07:27 +0400
parents 4add6ae1296f
children
line wrap: on
line source

<?xml version="1.0"?>

<!--
  Copyright (C) Igor Sysoev
  Copyright (C) Nginx, Inc.
  -->

<!DOCTYPE module SYSTEM "../../../../dtd/module.dtd">

<module name="Модуль ngx_http_realip_module"
        link="/ru/docs/http/ngx_http_realip_module.html"
        lang="ru"
        rev="8">

<section id="summary">

<para>
Модуль <literal>ngx_http_realip_module</literal> позволяет
менять адрес и необязательный порт клиента
на переданные в указанном поле заголовка.
</para>

<para>
По умолчанию этот модуль не собирается, его сборку необходимо
разрешить с помощью конфигурационного параметра
<literal>--with-http_realip_module</literal>.
</para>

</section>


<section id="example" name="Пример конфигурации">

<para>
<example>
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;
</example>
</para>

</section>


<section id="directives" name="Директивы">

<directive name="set_real_ip_from">
<syntax>
    <value>адрес</value> |
    <value>CIDR</value> |
    <literal>unix:</literal></syntax>
<default/>
<context>http</context>
<context>server</context>
<context>location</context>

<para>
Задаёт доверенные адреса, которые передают верный адрес
для замены.
Если указано специальное значение <literal>unix:</literal>,
доверенными будут считаться все UNIX-сокеты.
Доверенные адреса могут быть также заданы при помощи имени хоста (1.13.1).
<note>
IPv6-адреса поддерживаются начиная с версий 1.3.0 и 1.2.1.
</note>
</para>

</directive>


<directive name="real_ip_header">
<syntax>
    <value>поле</value> |
    <literal>X-Real-IP</literal> |
    <literal>X-Forwarded-For</literal> |
    <literal>proxy_protocol</literal></syntax>
<default>X-Real-IP</default>
<context>http</context>
<context>server</context>
<context>location</context>

<para>
Задаёт поле заголовка запроса,
значение которого будет использоваться для замены адреса клиента.
</para>

<para>
Значение поля заголовка запроса, содержащее необязательный порт,
также используется для замены порта клиента (1.11.0).
Адрес и порт должны быть указаны согласно
<link url="https://datatracker.ietf.org/doc/html/rfc3986">RFC 3986</link>.
</para>

<para>
Параметр <literal>proxy_protocol</literal> (1.5.12) меняет
адрес клиента на указанный в заголовке PROXY-протокола.
Протокол PROXY должен быть предварительно включён при помощи установки
параметра <literal>proxy_protocol</literal> в директиве
<link doc="ngx_http_core_module.xml" id="listen"/>.
</para>

</directive>


<directive name="real_ip_recursive">
<syntax><literal>on</literal> | <literal>off</literal></syntax>
<default>off</default>
<context>http</context>
<context>server</context>
<context>location</context>
<appeared-in>1.3.0</appeared-in>
<appeared-in>1.2.1</appeared-in>

<para>
При выключенном рекурсивном поиске исходный адрес клиента,
совпадающий с одним из доверенных адресов, заменяется на последний
адрес, переданный в поле заголовка запроса, заданного
директивой <link id="real_ip_header"/>.
При включённом рекурсивном поиске исходный адрес клиента,
совпадающий с одним из доверенных адресов, заменяется на последний
не доверенный адрес, переданный в заданном поле заголовка запроса.
</para>

</directive>

</section>


<section id="variables" name="Встроенные переменные">

<para>
<list type="tag">

<tag-name id="var_realip_remote_addr"><var>$realip_remote_addr</var></tag-name>
<tag-desc>
хранит исходный адрес клиента (1.9.7)
</tag-desc>

<tag-name id="var_realip_remote_port"><var>$realip_remote_port</var></tag-name>
<tag-desc>
хранит исходный порт клиента (1.11.0)
</tag-desc>

</list>
</para>

</section>

</module>