<!-- review: finished -->

<a id="http-realip"></a>

# RealIP

Позволяет менять адрес и необязательный порт клиента на переданные в указанном поле заголовка.

При [сборке из исходного кода](https://angie.software//angie/docs/installation/sourcebuild.md#sourcebuild) модуль не собирается по умолчанию; его необходимо
включить с помощью [параметра сборки](https://angie.software//angie/docs/installation/sourcebuild.md#configure)
`‑‑with‑http_realip_module`.
В пакетах и образах из
[наших репозиториев](https://angie.software//angie/docs/installation/index.md#install-packages)
модуль включен в сборку.

<a id="configuration-example-36"></a>

## Пример конфигурации

```nginx
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;
```

<a id="directives-37"></a>

## Директивы

<a id="index-0"></a>

<a id="set-real-ip-from"></a>

### set_real_ip_from

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `set_real_ip_from` адрес | CIDR | `unix`:;   |
|------------------------------------------------------------------------------------------|----------------------------------------------|
| По умолчанию                                                                             | —                                            |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location                       |

Задает доверенные адреса, которые передают верный адрес для замены. Если указано специальное значение `unix:`, доверенными будут считаться все UNIX-сокеты. Доверенные адреса могут быть также заданы при помощи имени хоста.

<a id="index-1"></a>

<a id="real-ip-header"></a>

### real_ip_header

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `real_ip_header` поле | `X-Real-IP` | `X-Forwarded-For` | `proxy_protocol`;   |
|------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|
| По умолчанию                                                                             | `real_ip_header X-Real-IP;`                                                   |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location                                                        |

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

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

Параметр `proxy_protocol` меняет адрес клиента на указанный в заголовке PROXY-протокола. Протокол PROXY должен быть предварительно включен при помощи установки параметра proxy_protocol в директиве [listen](https://angie.software//angie/docs/configuration/modules/http/index.md#listen).

<a id="index-2"></a>

<a id="real-ip-recursive"></a>

### real_ip_recursive

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `real_ip_recursive` `on` | `off`;   |
|------------------------------------------------------------------------------------------|-------------------------------------|
| По умолчанию                                                                             | `real_ip_recursive off;`            |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | http, server, location              |

При выключенном рекурсивном поиске исходный адрес клиента, совпадающий с одним из доверенных адресов, заменяется на последний адрес, переданный в поле заголовка запроса, заданного директивой [real_ip_header](#real-ip-header). При включенном рекурсивном поиске исходный адрес клиента, совпадающий с одним из доверенных адресов, заменяется на последний не доверенный адрес, переданный в заданном поле заголовка запроса.

<a id="built-in-variables-7"></a>

## Встроенные переменные

<a id="v-realip-remote-addr"></a>

### `$realip_remote_addr`

хранит исходный адрес клиента

<a id="v-realip-remote-port"></a>

### `$realip_remote_port`

хранит исходный порт клиента
