<!-- review: finished -->

<a id="stream-rdp-preread"></a>

# RDP Preread

При использовании протокола RDP позволяет извлекать cookie,
которые используются для идентификации и управления сессиями,
до момента принятия решения о балансировке.

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

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

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

<a id="binding-to-the-cookie-issuing-server"></a>

### Привязка к выдавшему cookie серверу

Конфигурация использует режим `learn` директивы [sticky](https://angie.software//angie/docs/configuration/modules/stream/stream_upstream.md#s-u-sticky):

```nginx
stream {

    rdp_preread on;

    upstream rdp {

        server 127.0.0.1:3390 sid=a;
        server 127.0.0.1:3391 sid=b;

        sticky learn lookup=$rdp_cookie create=$rdp_cookie zone=sessions:1m;
    }
}
```

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

## Директивы

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

<a id="s-rdp-preread"></a>

### rdp_preread

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

Управляет извлечением информации из cookie протокола RDP
на этапе
[предварительного чтения](https://angie.software//angie/docs/configuration/processing.md#stream-sessions).
Если параметр включен (`on`),
то в контексте, где он задан,
заполняются перечисленные ниже переменные.

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

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

Семантика значений в составе cookie зависит от версии протокола RDP.

<a id="v-rdp-cookie"></a>

### `$rdp_cookie`

Значение cookie целиком.

<a id="id5"></a>

### `$rdp_cookie_<имя>`

Значение поля cookie с заданным именем.
