<!-- review: finished -->

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

# Proxy

Permite fazer proxy de fluxos de dados sobre TCP, UDP e sockets de domínio UNIX.

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

## Exemplo de Configuração

```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="directives-74"></a>

## Diretivas

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

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

### proxy_bind

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_bind` address [`transparent`] | `off`;   |
|-------------------------------------------------------------------------------------------|-------------------------------------------------|
| Padrão                                                                                    | —                                               |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                                  |

Faz com que as conexões de saída para um servidor com proxy se originem do endereço IP local especificado. O valor do parâmetro pode conter variáveis. O valor especial `off` cancela o efeito da diretiva proxy_bind herdada do nível de configuração anterior, o que permite ao sistema atribuir automaticamente o endereço IP local.

O parâmetro `transparent` permite que as conexões de saída para um servidor com proxy se originem de um endereço IP não local, por exemplo, de um endereço IP real de um cliente:

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

Para que este parâmetro funcione,
os processos worker do Angie geralmente precisam executar
com privilégios de [superusuário](https://pt.angie.software//angie/docs/configuration/modules/core.md#user).
No Linux, isso não é necessário:
se o parâmetro `transparent` for especificado,
os processos worker herdam a capacidade CAP_NET_RAW do processo mestre.

#### NOTE
A tabela de roteamento do kernel também deve ser configurada
para interceptar o tráfego de rede do servidor com proxy.

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

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

### proxy_buffer_size

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_buffer_size` size;   |
|-------------------------------------------------------------------------------------------|-----------------------------|
| Padrão                                                                                    | `proxy_buffer_size 16k;`    |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server              |

Define o tamanho do buffer usado para ler dados do servidor com proxy. Também define o tamanho do buffer usado para ler dados do cliente.

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

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

### proxy_connect_timeout

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_connect_timeout` time;   |
|-------------------------------------------------------------------------------------------|---------------------------------|
| Padrão                                                                                    | `proxy_connect_timeout 60s;`    |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                  |

Define um timeout para estabelecer uma conexão com um servidor com proxy.

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

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

### proxy_connection_drop

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_connection_drop` time | `on` | `off`;   |
|-------------------------------------------------------------------------------------------|------------------------------------------------|
| Padrão                                                                                    | `proxy_connection_drop off;`                   |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                                 |

Habilita o encerramento de todas as sessões para o servidor com proxy após ele ter sido
removido do grupo ou marcado como permanentemente indisponível por um processo de [reresolve](https://pt.angie.software//angie/docs/configuration/modules/http/http_upstream.md#reresolve) ou pelo [comando da API](https://pt.angie.software//angie/docs/configuration/modules/http/http_api.md#api-config-methods)
`DELETE`.

Uma sessão é encerrada quando o próximo evento de leitura ou escrita é processado para
o cliente ou o servidor com proxy.

Definir time habilita um [timeout](https://pt.angie.software//angie/docs/configuration/configfile.md#syntax) de encerramento de sessão;
com `on` definido, as sessões são descartadas imediatamente.

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

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

### proxy_download_rate

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_download_rate` rate;   |
|-------------------------------------------------------------------------------------------|-------------------------------|
| Padrão                                                                                    | `proxy_download_rate 0;`      |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                |

Limita a velocidade de leitura dos dados do servidor com proxy. A `rate` é especificada em bytes por segundo.

| `0`   | desabilita a limitação de taxa   |
|-------|----------------------------------|

#### NOTE
O limite é definido por conexão, então se o Angie abrir simultaneamente duas conexões para o servidor com proxy, a taxa geral será o dobro do limite especificado.

O valor do parâmetro pode conter variáveis. Pode ser útil em casos onde a taxa deve ser limitada dependendo de uma determinada condição:

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

proxy_download_rate $rate;
```

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

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

### proxy_half_close

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_half_close` `on` | `off`;   |
|-------------------------------------------------------------------------------------------|------------------------------------|
| Padrão                                                                                    | `proxy_half_close off;`            |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                     |

Habilita ou desabilita o fechamento independente de cada direção de uma conexão TCP ("TCP half-close"). Se habilitado, o proxy sobre TCP será mantido até que ambos os lados fechem a conexão.

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

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

### proxy_next_upstream

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_next_upstream` `on` | `off`;   |
|-------------------------------------------------------------------------------------------|---------------------------------------|
| Padrão                                                                                    | `proxy_next_upstream on;`             |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                        |

Quando uma conexão com o servidor com proxy não pode ser estabelecida, determina se uma conexão de cliente será passada para o próximo servidor no [pool upstream](https://pt.angie.software//angie/docs/configuration/modules/stream/stream_upstream.md#stream-upstream).

Passar uma conexão para o próximo servidor pode ser limitado pelo [número de tentativas](#s-proxy-next-upstream-tries) e por [tempo](#s-proxy-next-upstream-timeout).

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

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

### proxy_next_upstream_timeout

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_next_upstream_timeout` time;   |
|-------------------------------------------------------------------------------------------|---------------------------------------|
| Padrão                                                                                    | `proxy_next_upstream_timeout 0;`      |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                        |

Limita o tempo permitido para passar uma conexão para o [próximo](#s-proxy-next-upstream) servidor.

| `0`   | desativa esta limitação   |
|-------|---------------------------|

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

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

### proxy_next_upstream_tries

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_next_upstream_tries` number;   |
|-------------------------------------------------------------------------------------------|---------------------------------------|
| Padrão                                                                                    | `proxy_next_upstream_tries 0;`        |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                        |

Limita o número de tentativas possíveis para passar uma conexão para o [próximo](#s-proxy-next-upstream) servidor.

| `0`   | desativa esta limitação   |
|-------|---------------------------|

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

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

### proxy_pass

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_pass` address;   |
|-------------------------------------------------------------------------------------------|-------------------------|
| Padrão                                                                                    | —                       |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | server                  |

Define o endereço de um servidor com proxy. O `address` pode ser especificado como um nome de domínio ou endereço IP, e uma porta:

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

ou como um caminho de socket de domínio UNIX:

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

Se um nome de domínio resolve para vários endereços, todos eles serão usados de forma round-robin. Além disso, um endereço pode ser especificado como um [grupo de servidores](https://pt.angie.software//angie/docs/configuration/modules/stream/stream_upstream.md#stream-upstream).

O endereço também pode ser especificado usando variáveis:

```nginx
proxy_pass $upstream;
```

Neste caso, o nome do servidor é pesquisado entre os [grupos de servidores](https://pt.angie.software//angie/docs/configuration/modules/stream/stream_upstream.md#stream-upstream) descritos e, se não encontrado, é determinado usando um [resolver](https://pt.angie.software//angie/docs/configuration/modules/stream/index.md#s-resolver).

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

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

### proxy_protocol

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_protocol` `on` | `off`;   |
|-------------------------------------------------------------------------------------------|----------------------------------|
| Padrão                                                                                    | `proxy_protocol off;`            |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                   |

Habilita o [protocolo PROXY](http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt) para conexões com um servidor com proxy.

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

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

### proxy_protocol_version

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_protocol_version` `1` | `2`;   |
|-------------------------------------------------------------------------------------------|---------------------------------------|
| Padrão                                                                                    | `proxy_protocol_version 1;`           |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                        |

Define a versão do protocolo PROXY usada para conexões com um servidor com proxy. A configuração é efetiva quando [proxy_protocol](#s-proxy-protocol) está habilitado. A versão 2 permite enviar TLVs configurados pela diretiva [proxy_protocol_tlv](#s-proxy-protocol-tlv).

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

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

### proxy_protocol_tlv

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_protocol_tlv` name value;   |
|-------------------------------------------------------------------------------------------|------------------------------------|
| Padrão                                                                                    | —                                  |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                     |

Adiciona um TLV ao cabeçalho do protocolo PROXY v2 enviado para um servidor com proxy. O value pode conter variáveis. O name pode ser um nome de tipo TLV ou seu valor numérico; neste último caso, o valor é especificado em hexadecimal e deve começar com 0x. Para TLVs SSL, use o prefixo `ssl_`; o nome especial `ssl_verify` define o campo verify do TLV SSL. A diretiva é usada apenas com [proxy_protocol_version](#s-proxy-protocol-version) definido como `2`.

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

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

### proxy_requests

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_requests` number;   |
|-------------------------------------------------------------------------------------------|----------------------------|
| Padrão                                                                                    | `proxy_requests 0;`        |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server             |

Define o número de datagramas de cliente no qual a vinculação entre um cliente e uma sessão de stream UDP existente é descartada. Após receber o número especificado de datagramas, o próximo datagrama do mesmo cliente inicia uma nova sessão. A sessão termina quando todos os datagramas de cliente são transmitidos para um servidor com proxy e o [número esperado de respostas](#s-proxy-responses) é recebido, ou quando atinge um [timeout](#s-proxy-timeout).

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

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

### proxy_responses

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_responses` number;   |
|-------------------------------------------------------------------------------------------|-----------------------------|
| Padrão                                                                                    | —                           |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server              |

Define o número de datagramas esperados do servidor proxy em resposta a um datagrama do cliente se o protocolo [UDP](https://pt.angie.software//angie/docs/configuration/modules/stream/index.md#stream-protocol) for usado. O número serve como uma dica para o término da sessão. Por padrão, o número de datagramas não é limitado.

Se o valor zero for especificado, nenhuma resposta é esperada. No entanto, se uma resposta for recebida e a sessão ainda não estiver finalizada, a resposta será tratada.

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

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

### proxy_socket_keepalive

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_socket_keepalive` `on` | `off`;   |
|-------------------------------------------------------------------------------------------|------------------------------------------|
| Padrão                                                                                    | `proxy_socket_keepalive off;`            |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                           |

Configura o comportamento "TCP keepalive" para conexões de saída para um servidor proxy.

| `off`   | Por padrão, as configurações do sistema operacional estão em vigor para o socket.   |
|---------|-------------------------------------------------------------------------------------|
| `on`    | A opção de socket SO_KEEPALIVE é ativada para o socket.                             |

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

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

### proxy_ssl

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl` `on` | `off`;   |
|-------------------------------------------------------------------------------------------|-----------------------------|
| Padrão                                                                                    | `proxy_ssl off;`            |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server              |

Habilita o protocolo SSL/TLS para conexões com um servidor proxy.

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

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

### proxy_ssl_certificate

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_certificate` file [file];   |
|-------------------------------------------------------------------------------------------|----------------------------------------|
| Padrão                                                                                    | —                                      |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                         |

Especifica um arquivo com o certificado no formato PEM usado para autenticação em um servidor proxy. Variáveis podem ser usadas no nome do arquivo.

Quando [proxy_ssl_ntls](#s-proxy-ssl-ntls) está habilitado, a diretiva aceita dois argumentos em vez de um:

```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="index-18"></a>

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

### proxy_ssl_certificate_key

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_certificate_key` file [file];   |
|-------------------------------------------------------------------------------------------|--------------------------------------------|
| Padrão                                                                                    | —                                          |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                             |

O valor `store:scheme:id` pode ser especificado em vez do `file`, que é usado para carregar uma chave secreta com um id especificado e URI scheme do provedor OpenSSL registrado, como [pkcs11](https://datatracker.ietf.org/doc/html/rfc7512).

Especifica um arquivo com a chave secreta no formato PEM usado para autenticação em um servidor proxy. Variáveis podem ser usadas no nome do arquivo.

Quando [proxy_ssl_ntls](#s-proxy-ssl-ntls) está habilitado, a diretiva aceita dois argumentos em vez de um:

```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="index-19"></a>

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

### proxy_ssl_ciphers

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_ciphers` ciphers;   |
|-------------------------------------------------------------------------------------------|--------------------------------|
| Padrão                                                                                    | `proxy_ssl_ciphers DEFAULT;`   |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                 |

Especifica as cifras habilitadas para requisições a um servidor proxy. As cifras são especificadas no formato compreendido pela biblioteca OpenSSL.

A lista de cifras depende da versão do OpenSSL instalada.
A lista completa pode ser visualizada usando o comando `openssl ciphers`.

#### WARNING
A diretiva `proxy_ssl_ciphers` *não* configura cifras para TLS 1.3 quando
usando OpenSSL. Para configurar cifras TLS 1.3 com OpenSSL, use a
diretiva [proxy_ssl_conf_command](#s-proxy-ssl-conf-command), que foi adicionada para configuração
SSL avançada.

- No LibreSSL, cifras TLS 1.3 *podem* ser configuradas usando
  `proxy_ssl_ciphers`.
- No BoringSSL, cifras TLS 1.3 não podem ser configuradas.

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

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

### proxy_ssl_conf_command

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_conf_command` name value;   |
|-------------------------------------------------------------------------------------------|----------------------------------------|
| Padrão                                                                                    | —                                      |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                         |

Define [comandos](https://docs.openssl.org/master/man3/SSL_CONF_cmd/) de configuração OpenSSL arbitrários ao estabelecer uma conexão com o servidor proxy.

#### NOTE
A diretiva é suportada quando usando OpenSSL 1.0.2 ou superior.
Para configurar cifras TLS 1.3 com OpenSSL, use o comando `ciphersuites`.

Várias diretivas proxy_ssl_conf_command podem ser especificadas no mesmo nível. Essas diretivas são herdadas do nível de configuração anterior se e somente se não há diretivas proxy_ssl_conf_command definidas no nível atual.

#### WARNING
Note que configurar o OpenSSL diretamente pode resultar em comportamento inesperado.

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

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

### proxy_ssl_crl

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_crl` file;   |
|-------------------------------------------------------------------------------------------|-------------------------|
| Padrão                                                                                    | —                       |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server          |

Especifica um arquivo com certificados revogados (CRL) no formato PEM usado para [verificar](#s-proxy-ssl-verify) o certificado do servidor proxy.

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

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

### proxy_ssl_name

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_name` name;                 |
|-------------------------------------------------------------------------------------------|----------------------------------------|
| Padrão                                                                                    | `proxy_ssl_name` host de `proxy_pass`; |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                         |

Permite sobrescrever o nome do servidor usado para [verificar](#s-proxy-ssl-verify) o certificado do servidor proxy e para ser [passado através do SNI](#s-proxy-ssl-server-name) ao estabelecer uma conexão com o servidor proxy. O nome do servidor também pode ser especificado usando variáveis.

Por padrão, o nome do host do endereço especificado pela diretiva [proxy_pass](#s-proxy-pass) é usado.

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

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

### proxy_ssl_ntls

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_ntls` `on` | `off`;   |
|-------------------------------------------------------------------------------------------|----------------------------------|
| Padrão                                                                                    | `proxy_ssl_ntls off;`            |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                   |

Habilita o suporte do lado do cliente para NTLS ao usar a biblioteca 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
O Angie deve ser compilado usando o parâmetro de configuração `--with-ntls`, com a biblioteca SSL correspondente com suporte NTLS

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

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

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

### proxy_ssl_password_file

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_password_file` file;   |
|-------------------------------------------------------------------------------------------|-----------------------------------|
| Padrão                                                                                    | —                                 |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                    |

Especifica um arquivo com senhas para [chaves secretas](#s-proxy-ssl-certificate-key) onde cada senha é especificada em uma linha separada. As senhas são tentadas em sequência ao carregar a chave.

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

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

### proxy_ssl_protocols

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_protocols` [`SSLv2`] [`SSLv3`] [`TLSv1`] [`TLSv1.1`] [`TLSv1.2`] [`TLSv1.3`];   |
|-------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
| Padrão                                                                                    | `proxy_ssl_protocols TLSv1.2 TLSv1.3;`                                                     |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                                                                             |

#### Versionchanged
Alterado na versão 1.2.0: O parâmetro `TLSv1.3` foi adicionado ao conjunto padrão.

Habilita os protocolos especificados para requisições a um servidor proxy.

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

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

### proxy_ssl_server_name

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_server_name` `on` | `off`;   |
|-------------------------------------------------------------------------------------------|-----------------------------------------|
| Padrão                                                                                    | `proxy_ssl_server_name off;`            |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                          |

Habilita ou desabilita a passagem do nome do servidor
especificado pela diretiva [proxy_ssl_name](#s-proxy-ssl-name)
através da
extensão TLS [Server Name Indication](http://en.wikipedia.org/wiki/Server_Name_Indication)
(SNI,
[RFC 6066](https://datatracker.ietf.org/doc/html/rfc6066.html))
ao estabelecer uma conexão com o servidor com proxy.

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

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

### proxy_ssl_session_reuse

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_session_reuse` `on` | `off`;   |
|-------------------------------------------------------------------------------------------|-------------------------------------------|
| Padrão                                                                                    | `proxy_ssl_session_reuse on;`             |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                            |

Determina se as sessões SSL podem ser reutilizadas ao trabalhar com o servidor com proxy. Se os erros "SSL3_GET_FINISHED:digest check failed" aparecerem nos logs, tente desabilitar a reutilização de sessão.

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

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

### proxy_ssl_trusted_certificate

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_trusted_certificate` arquivo;   |
|-------------------------------------------------------------------------------------------|--------------------------------------------|
| Padrão                                                                                    | —                                          |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                             |

Especifica um arquivo com certificados CA confiáveis no formato PEM usado para [verificar](#s-proxy-ssl-verify) o certificado do servidor com proxy.

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

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

### proxy_ssl_verify

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_verify` `on` | `off`;   |
|-------------------------------------------------------------------------------------------|------------------------------------|
| Padrão                                                                                    | `proxy_ssl_verify off;`            |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                     |

Habilita ou desabilita a verificação do certificado do servidor com proxy.

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

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

### proxy_ssl_verify_depth

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_ssl_verify_depth` número;   |
|-------------------------------------------------------------------------------------------|------------------------------------|
| Padrão                                                                                    | `proxy_ssl_verify_depth 1;`        |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server                     |

Define a profundidade de verificação na cadeia de certificados do servidor com proxy.

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

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

### proxy_timeout

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_timeout` tempo;   |
|-------------------------------------------------------------------------------------------|--------------------------|
| Padrão                                                                                    | `proxy_timeout 10m;`     |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server           |

Define um timeout entre duas operações sucessivas de leitura ou escrita nas conexões do cliente ou servidor com proxy. Se nenhum dado for transmitido dentro deste tempo, a conexão é fechada.

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

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

### proxy_upload_rate

| [Sintaxe](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)   | `proxy_upload_rate` taxa;   |
|-------------------------------------------------------------------------------------------|-----------------------------|
| Padrão                                                                                    | `proxy_upload_rate 0;`      |
| [Contexto](https://pt.angie.software//angie/docs/configuration/configfile.md#configfile)  | stream, server              |

Limita a velocidade de leitura dos dados do cliente. A taxa é especificada em bytes por segundo.

| `0`   | desabilita a limitação de taxa   |
|-------|----------------------------------|

#### NOTE
O limite é definido por conexão, então se o cliente abrir simultaneamente duas conexões, a taxa geral será o dobro do limite especificado.

O valor do parâmetro pode conter variáveis. Isso pode ser útil em casos onde a taxa deve ser limitada dependendo de uma determinada condição:

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

proxy_upload_rate $rate;
```
