<!-- review: finished -->

<a id="adc-stream-proxy"></a>

# Proxy

Позволяет проксировать потоки данных по TCP, UDP и UNIX-сокетам.

<a id="adc-configuration-example-65"></a>

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

```nginx
server {
    listen 127.0.0.1:12345;
    proxy_pass 127.0.0.1:8080;
}

server {
    listen 12345;
    proxy_connect_timeout 1s;
    proxy_timeout 1m;
    proxy_pass example.com:12345;
}

server {
    listen 53 udp reuseport;
    proxy_timeout 20s;
    proxy_pass dns.example.com:53;
}

server {
    listen [::1]:12345;
    proxy_pass unix:/tmp/stream.socket;
}
```

<a id="adc-directives-74"></a>

## Директивы

<a id="adc-s-proxy-bind"></a>

### proxy_bind

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

Задает локальный IP-адрес, который будет использоваться в исходящих соединениях с проксируемым сервером. В значении параметра допустимо использование переменных. Специальное значение `off` отменяет действие унаследованной с предыдущего уровня конфигурации директивы proxy_bind, позволяя системе самостоятельно выбирать локальный IP-адрес.

Параметр `transparent` позволяет задать нелокальный IP-aдрес, который будет использоваться в исходящих соединениях с проксируемым сервером, например, реальный IP-адрес клиента:

```nginx
proxy_bind $remote_addr transparent;
```

Для работы параметра обычно требуется запустить рабочие процессы Angie с привилегиями [суперпользователя](https://angie.software//angie/docs/configuration/modules/core.md#user). В Linux этого не требуется, так как если указан параметр transparent, то рабочие процессы наследуют capability CAP_NET_RAW из главного процесса.

#### NOTE
Необходимо настроить таблицу маршрутизации ядра для перехвата сетевого трафика с проксируемого сервера.

<a id="adc-s-proxy-buffer-size"></a>

### proxy_buffer_size

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

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

<a id="adc-s-proxy-connect-timeout"></a>

### proxy_connect_timeout

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

Задает таймаут для установления соединения с проксируемым сервером.

<a id="adc-s-proxy-connection-drop"></a>

### proxy_connection_drop

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

Настраивает завершение всех соединений с проксируемым сервером,
если он был удален из группы или помечен как постоянно недоступный
в результате процесса [reresolve](https://angie.software//angie/docs/configuration/modules/http/http_upstream.md#reresolve)
или [команды API](https://angie.software//angie/docs/configuration/modules/http/http_api.md#api-config-methods) `DELETE`.

Сессия завершается, когда обрабатывается следующее событие чтения или записи
для клиента или проксируемого сервера.

Установка времени включает [таймаут](https://angie.software//angie/docs/configuration/configfile.md#syntax) до завершения сессии;
при выборе значения `on` сессии завершаются немедленно.

<a id="adc-s-proxy-download-rate"></a>

### proxy_download_rate

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

Ограничивает скорость чтения данных от проксируемого сервера;
`скорость` задается в байтах в секунду.

| `0`   | отключает ограничение скорости   |
|-------|----------------------------------|

#### NOTE
Ограничение устанавливается на соединение, поэтому, если Angie одновременно откроет два соединения к проксируемому серверу, суммарная скорость будет вдвое выше заданного ограничения.

В значении параметра можно использовать переменные. Это может быть полезно в случаях, когда скорость нужно ограничивать в зависимости от какого-либо условия:

```nginx
map $slow $rate {
    1     4k;
    2     8k;
}

proxy_download_rate $rate
```

<a id="adc-s-proxy-half-close"></a>

### proxy_half_close

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

Разрешает или запрещает независимое закрытие каждой из сторон проксируемого соединения TCP ("TCP half-close"). Если разрешено, то проксирование по TCP будет продолжаться, пока обе стороны не закроют соединение.

<a id="adc-s-proxy-next-upstream"></a>

### proxy_next_upstream

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

При невозможности установить соединение с проксируемым сервером определяет, будет ли клиентское соединение передано [следующему серверу](https://angie.software//angie/docs/configuration/modules/stream/stream_upstream.md#stream-upstream).

Передача соединения следующему серверу может быть ограничена по [количеству попыток](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-next-upstream-tries) и по [времени](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-next-upstream-timeout).

<a id="adc-s-proxy-next-upstream-timeout"></a>

### proxy_next_upstream_timeout

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

Ограничивает время, в течение которого возможна передача запроса [следующему](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-next-upstream) серверу.

| `0`   | отключает это ограничение   |
|-------|-----------------------------|

<a id="adc-s-proxy-next-upstream-tries"></a>

### proxy_next_upstream_tries

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

Ограничивает число допустимых попыток для передачи запроса [следующему](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-next-upstream) серверу.

| `0`   | отключает это ограничение   |
|-------|-----------------------------|

<a id="adc-s-proxy-pass"></a>

### proxy_pass

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

Задает адрес проксируемого сервера;
`адрес` может быть указан в виде доменного имени или IP-адреса,
за которым следует порт:

```nginx
proxy_pass localhost:12345;
```

или в виде пути UNIX-сокета:

```nginx
proxy_pass unix:/tmp/stream.socket;
```

Если доменному имени соответствует несколько адресов, то все они будут использоваться по очереди (round-robin). Кроме того, в качестве адреса можно указать [группу серверов](https://angie.software//angie/docs/configuration/modules/stream/stream_upstream.md#stream-upstream).

Адрес можно также задать с помощью переменных:

```nginx
proxy_pass $upstream;
```

В этом случае имя сервера ищется среди описанных [групп серверов](https://angie.software//angie/docs/configuration/modules/stream/stream_upstream.md#stream-upstream) и если не найдено, то определяется с помощью [resolver](https://angie.software//angie/docs/configuration/modules/stream/index.md#s-resolver)'а.

<a id="adc-s-proxy-protocol"></a>

### proxy_protocol

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

Включает [протокол PROXY](http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt) для соединений с проксируемым сервером.

<a id="adc-s-proxy-protocol-version"></a>

### proxy_protocol_version

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

Задает версию протокола PROXY, используемую при соединениях с проксируемым сервером. Настройка действует при включенной директиве [proxy_protocol](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-protocol). Версия 2 позволяет отправлять TLV, заданные директивой [proxy_protocol_tlv](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-protocol-tlv).

<a id="adc-s-proxy-protocol-tlv"></a>

### proxy_protocol_tlv

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

Добавляет TLV в заголовок протокола PROXY версии 2, отправляемый на проксируемый сервер. Значение может содержать переменные. Имя может быть именем типа TLV или его числовым значением; в последнем случае значение задается в шестнадцатеричном виде и должно начинаться с 0x. Для TLV SSL используйте префикс `ssl_`; специальное имя `ssl_verify` задает поле verify структуры SSL TLV. Директива используется только при значении `2` в [proxy_protocol_version](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-protocol-version).

<a id="adc-s-proxy-requests"></a>

### proxy_requests

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

Задает число датаграмм, полученных от клиента, по достижении которого удаляется привязка между клиентом и существующей UDP-сессией. После получения указанного количества датаграмм следующая датаграмма, полученная от того же клиента, начинает новую сессию. Сессия завершится после отправки всех принятых датаграмм на проксируемый сервер и получения указанного количества [ответов](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-responses) или после [таймаута](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-timeout).

<a id="adc-s-proxy-responses"></a>

### proxy_responses

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

Задает количество датаграмм, ожидаемых от проксируемого сервера в ответ на датаграмму клиента в случае, если используется протокол [UDP](https://angie.software//angie/docs/configuration/modules/stream/index.md#stream-protocol). Задаваемое число служит подсказкой для завершения сессии. По умолчанию количество датаграмм не ограничено.

Если указано нулевое значение, то ответ не ожидается. Однако если ответ получен и сессия еще не завершилась, то ответ будет обработан.

<a id="adc-s-proxy-socket-keepalive"></a>

### proxy_socket_keepalive

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

Конфигурирует поведение "TCP keepalive" для исходящих соединений к проксируемому серверу.

| `""`   | По умолчанию для сокета действуют настройки операционной системы.   |
|--------|---------------------------------------------------------------------|
| `on`   | для сокета включается параметр SO_KEEPALIVE                         |

<a id="adc-s-proxy-ssl"></a>

### proxy_ssl

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

Включает протоколы SSL/TLS для соединений с проксируемым сервером.

<a id="adc-s-proxy-ssl-certificate"></a>

### proxy_ssl_certificate

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

Задает файл с сертификатом в формате PEM для аутентификации на проксируемом сервере. В имени файла можно использовать переменные.

При включенном [proxy_ssl_ntls](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-ssl-ntls) директива принимает два аргумента вместо одного:

```nginx
server {
    proxy_ssl_ntls  on;

    proxy_ssl_certificate      sign.crt enc.crt;
    proxy_ssl_certificate_key  sign.key enc.key;

    proxy_ssl_ciphers "ECC-SM2-WITH-SM4-SM3:ECDHE-SM2-WITH-SM4-SM3:RSA";

    proxy_pass backend:12345;
}
```

<a id="adc-s-proxy-ssl-certificate-key"></a>

### proxy_ssl_certificate_key

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

Вместо `файла` можно указать значение `store:scheme:id`, которое используется для загрузки ключа с указанным id и URI-схемой scheme, зарегистрированной в OpenSSL provider, например [pkcs11](https://datatracker.ietf.org/doc/html/rfc7512).

Задает файл с секретным ключом в формате PEM для аутентификации на проксируемом сервере. В имени файла можно использовать переменные.

При включенном [proxy_ssl_ntls](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-ssl-ntls) директива принимает два аргумента вместо одного:

```nginx
server {
    proxy_ssl_ntls  on;

    proxy_ssl_certificate      sign.crt enc.crt;
    proxy_ssl_certificate_key  sign.key enc.key;

    proxy_ssl_ciphers "ECC-SM2-WITH-SM4-SM3:ECDHE-SM2-WITH-SM4-SM3:RSA";

    proxy_pass backend:12345;
}
```

<a id="adc-s-proxy-ssl-ciphers"></a>

### proxy_ssl_ciphers

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

Описывает разрешенные шифры для запросов к проксируемому серверу. Шифры задаются в формате, поддерживаемом библиотекой OpenSSL.

Список шифров зависит от установленной версии OpenSSL.
Полный список можно посмотреть с помощью команды `openssl ciphers`.

#### WARNING
Директива `proxy_ssl_ciphers`  *не* настраивает шифры для TLS 1.3 при
использовании OpenSSL. Для настройки шифров TLS 1.3 в OpenSSL используйте
директиву [proxy_ssl_conf_command](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-ssl-conf-command), добавленную для расширенной
конфигурации SSL.

- В LibreSSL шифры TLS 1.3  *можно* настраивать с помощью
  `proxy_ssl_ciphers`.
- В BoringSSL шифры TLS 1.3 настроить невозможно.

<a id="adc-s-proxy-ssl-conf-command"></a>

### proxy_ssl_conf_command

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

Задает произвольные конфигурационные [команды](https://docs.openssl.org/master/man3/SSL_CONF_cmd/) OpenSSL при установлении соединения с проксируемым сервером.

#### NOTE
Директива поддерживается при использовании OpenSSL 1.0.2 и выше.
Чтобы настроить шифры TLS 1.3 в OpenSSL, используйте команду `ciphersuites`.

На одном уровне может быть указано несколько директив proxy_ssl_conf_command. Директивы наследуются с предыдущего уровня конфигурации при условии, что на данном уровне не описаны свои директивы proxy_ssl_conf_command.

#### WARNING
Следует учитывать, что изменение настроек OpenSSL напрямую может привести к неожиданному поведению.

<a id="adc-s-proxy-ssl-crl"></a>

### proxy_ssl_crl

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

Указывает файл с отозванными сертификатами (CRL) в формате PEM, используемыми при [проверке](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-ssl-verify) сертификата проксируемого сервера.

<a id="adc-s-proxy-ssl-name"></a>

### proxy_ssl_name

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

Позволяет переопределить имя сервера, используемое при [проверке](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-ssl-verify) сертификата проксируемого сервера, а также для [передачи его через SNI](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-ssl-server-name) при установлении соединения с проксируемым сервером. Имя сервера можно также задать с помощью переменных.

По умолчанию используется имя хоста из адреса, заданного директивой [proxy_pass](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-pass).

<a id="adc-s-proxy-ssl-ntls"></a>

### proxy_ssl_ntls

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

Включает клиентскую поддержку NTLS при использовании TLS библиотеки [TongSuo](https://github.com/Tongsuo-Project/Tongsuo).

```nginx
server {
    proxy_ssl_ntls  on;

    proxy_ssl_certificate      sign.crt enc.crt;
    proxy_ssl_certificate_key  sign.key enc.key;

    proxy_ssl_ciphers "ECC-SM2-WITH-SM4-SM3:ECDHE-SM2-WITH-SM4-SM3:RSA";

    proxy_pass backend:12345;
}
```

#### NOTE
Angie необходимо собрать с использованием параметра конфигурации `--with-ntls`, с соответствующей SSL библиотекой с поддержкой NTLS

```default
./configure --with-openssl=../Tongsuo-8.3.0 \
            --with-openssl-opt=enable-ntls  \
            --with-ntls
```

<a id="adc-s-proxy-ssl-password-file"></a>

### proxy_ssl_password_file

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

Задает файл с паролями от [секретных ключей](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-ssl-certificate-key), где каждый пароль указан на отдельной строке. Пароли применяются по очереди в момент загрузки ключа.

<a id="adc-s-proxy-ssl-protocols"></a>

### proxy_ssl_protocols

| [Синтаксис](https://angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_protocols` [`SSLv2`] [`SSLv3`] [`TLSv1`] [`TLSv1.1`] [`TLSv1.2`] [`TLSv1.3`];   |
|------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
| По умолчанию                                                                             | `proxy_ssl_protocols TLSv1.2 TLSv1.3;`                                                     |
| [Контекст](https://angie.software//angie/docs/configuration/configfile.md#configfile)    | stream, server                                                                             |

#### Versionchanged
Изменено в версии 1.2.0: Параметр `TLSv1.3` добавлен к используемым по умолчанию.

Разрешает указанные протоколы для соединений с проксируемым сервером.

<a id="adc-s-proxy-ssl-server-name"></a>

### proxy_ssl_server_name

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

Разрешает или запрещает передачу имени сервера,
заданного директивой [proxy_ssl_name](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-ssl-name),
через расширение
[Server Name Indication](http://en.wikipedia.org/wiki/Server_Name_Indication)
протокола TLS
(SNI,
[RFC 6066](https://datatracker.ietf.org/doc/html/rfc6066.html))
при установлении соединения с проксируемым сервером.

<a id="adc-s-proxy-ssl-session-reuse"></a>

### proxy_ssl_session_reuse

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

Определяет, использовать ли повторно SSL-сессии при работе с проксируемым сервером. Если в логах появляются ошибки "SSL3_GET_FINISHED:digest check failed", то можно попробовать выключить повторное использование сессий.

<a id="adc-s-proxy-ssl-trusted-certificate"></a>

### proxy_ssl_trusted_certificate

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

Задает файл с доверенными сертификатами CA в формате PEM, используемыми при [проверке](https://angie.software//angie/docs/configuration/modules/stream/stream_proxy.md#s-proxy-ssl-verify) сертификата проксируемого HTTPS-сервера.

<a id="adc-s-proxy-ssl-verify"></a>

### proxy_ssl_verify

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

Разрешает или запрещает проверку сертификата проксируемого сервера.

<a id="adc-s-proxy-ssl-verify-depth"></a>

### proxy_ssl_verify_depth

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

Устанавливает глубину проверки в цепочке сертификатов проксируемого сервера.

<a id="adc-s-proxy-timeout"></a>

### proxy_timeout

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

Задает таймаут между двумя идущими подряд операциями чтения или записи на клиентском соединении или соединении с проксируемым сервером. Если по истечении этого времени данные не передавались, соединение закрывается.

<a id="adc-s-proxy-upload-rate"></a>

### proxy_upload_rate

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

Ограничивает скорость чтения данных от клиента. Скорость задается в байтах в секунду.

| `0`   | отключает ограничение скорости   |
|-------|----------------------------------|

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

В значении параметра можно использовать переменные. Это может быть полезно в случаях, когда скорость нужно ограничивать в зависимости от какого-либо условия:

```nginx
map $slow $rate {
    1     4k;
    2     8k;
}

proxy_upload_rate $rate;
```
