<!-- review: finished -->

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

# gRPC

Permite pasar solicitudes a un servidor gRPC.

#### NOTE
Este módulo requiere el módulo [HTTP2](https://es.angie.software//angie/docs/configuration/modules/http/http_v2.md#http-v2).

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

## Ejemplo de Configuración

```nginx
server {
    listen 9000;

    http2 on;

    location / {
        grpc_pass 127.0.0.1:9000;
    }
}
```

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

## Directivas

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

<a id="grpc-bind"></a>

### grpc_bind

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_bind` address [`transparent`] | `off`;   |
|--------------------------------------------------------------------------------------------|------------------------------------------------|
| Predeterminado                                                                             | —                                              |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                         |

Hace que las conexiones salientes a un servidor gRPC se originen desde la dirección IP local especificada con un puerto opcional. El valor del parámetro puede contener variables. El valor especial `off` cancela el efecto de la directiva grpc_bind heredada del nivel de configuración anterior, lo que permite al sistema asignar automáticamente la dirección IP local y el puerto.

El parámetro `transparent` permite que las conexiones salientes a un servidor gRPC se originen desde una dirección IP no local, por ejemplo, desde una dirección IP real de un cliente:

```nginx
grpc_bind $remote_addr transparent;
```

Para que este parámetro funcione, generalmente es necesario ejecutar los procesos de trabajo de Angie con los privilegios de [superusuario](https://es.angie.software//angie/docs/configuration/modules/core.md#user). En Linux no es necesario, ya que si se especifica el parámetro `transparent`, los procesos de trabajo heredan la capacidad CAP_NET_RAW del proceso maestro.

#### NOTE
Es necesario configurar la tabla de enrutamiento del kernel para interceptar el tráfico de red desde el servidor gRPC.

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

<a id="grpc-buffer-size"></a>

### grpc_buffer_size

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_buffer_size` size;   |
|--------------------------------------------------------------------------------------------|----------------------------|
| Predeterminado                                                                             | `grpc_buffer_size 4k|8k;`  |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location     |

Configura el tamaño del búfer utilizado para leer la primera parte de la respuesta recibida desde el servidor gRPC. La respuesta se pasa al cliente de forma sincrónica, tan pronto como se recibe.

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

<a id="grpc-connect-timeout"></a>

### grpc_connect_timeout

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_connect_timeout` time;   |
|--------------------------------------------------------------------------------------------|--------------------------------|
| Predeterminado                                                                             | `grpc_connect_timeout 60s;`    |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location         |

Define un tiempo de espera para establecer una conexión con un servidor gRPC. Cabe destacar que este tiempo de espera normalmente no puede exceder los 75 segundos.

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

<a id="grpc-connection-drop"></a>

### grpc_connection_drop

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_connection_drop` time | `on` | `off`;   |
|--------------------------------------------------------------------------------------------|-----------------------------------------------|
| Predeterminado                                                                             | `grpc_connection_drop off;`                   |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                        |

Habilita la terminación de todas las conexiones al servidor proxy después de que haya sido
eliminado del grupo o marcado como permanentemente no disponible por un proceso de [reresolución](https://es.angie.software//angie/docs/configuration/modules/http/http_upstream.md#reresolve) o el comando `DELETE` de la [API](https://es.angie.software//angie/docs/configuration/modules/http/http_api.md#api-config-methods).

Una conexión se termina cuando se procesa el siguiente evento de lectura o escritura para
el cliente o el servidor proxy.

Establecer time habilita un [tiempo de espera](https://es.angie.software//angie/docs/configuration/configfile.md#syntax) para la terminación de la conexión;
con `on` establecido, las conexiones se descartan inmediatamente.

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

<a id="grpc-hide-header"></a>

### grpc_hide_header

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_hide_header` field;   |
|--------------------------------------------------------------------------------------------|-----------------------------|
| Predeterminado                                                                             | —                           |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location      |

Por defecto, Angie no pasa los campos de cabecera `Date`, `Server` y `X-Accel-...` de la respuesta de un servidor gRPC a un cliente. La directiva `grpc_hide_header` establece campos adicionales que no se pasarán. Si, por el contrario, se necesita permitir el paso de campos, se puede usar la directiva [grpc_pass_header](#grpc-pass-header).

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

<a id="grpc-ignore-headers"></a>

### grpc_ignore_headers

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ignore_headers` field ...;   |
|--------------------------------------------------------------------------------------------|------------------------------------|
| Predeterminado                                                                             | —                                  |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location             |

Deshabilita el procesamiento de ciertos campos de cabecera de respuesta del servidor gRPC. Los siguientes campos pueden ser ignorados: `X-Accel-Redirect` y `X-Accel-Charset`.

Si no se deshabilita, el procesamiento de estos campos de cabecera tiene el siguiente efecto:

* `X-Accel-Redirect` realiza una [redirección interna](https://es.angie.software//angie/docs/configuration/modules/http/index.md#internal) al URI especificado;
* `X-Accel-Charset` establece el [conjunto de caracteres](https://es.angie.software//angie/docs/configuration/modules/http/http_charset.md#id1) deseado de una respuesta.

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

<a id="grpc-intercept-errors"></a>

### grpc_intercept_errors

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_intercept_errors` `on` | `off`;   |
|--------------------------------------------------------------------------------------------|-----------------------------------------|
| Predeterminado                                                                             | `grpc_intercept_errors off;`            |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                  |

Determina si las respuestas del servidor gRPC con códigos mayores o iguales a 300 deben pasarse a un cliente o ser interceptadas y redirigidas a Angie para su procesamiento con la directiva [error_page](https://es.angie.software//angie/docs/configuration/modules/http/index.md#error-page).

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

<a id="grpc-next-upstream"></a>

### grpc_next_upstream

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_next_upstream` `error` | `timeout` | `invalid_header` | `http_500` | `http_502` | `http_503` | `http_504` | `http_403` | `http_404` | `http_429` | `non_idempotent` | `off` ...;   |
|--------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Predeterminado                                                                             | `grpc_next_upstream error timeout;`                                                                                                                                                      |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                                                                                                                                                                   |

Especifica en qué casos una solicitud debe pasarse al siguiente servidor en el grupo [upstream](https://es.angie.software//angie/docs/configuration/modules/http/http_upstream.md#http-upstream):

| `error`          | ocurrió un error al establecer una conexión con el servidor, al pasarle una solicitud o al leer la cabecera de respuesta;                                                                                                                                                                                                            |
|------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `timeout`        | se produjo un tiempo de espera al establecer una conexión con el servidor, al pasarle una solicitud o al leer la cabecera de respuesta;                                                                                                                                                                                              |
| `invalid_header` | un servidor devolvió una respuesta vacía o no válida;                                                                                                                                                                                                                                                                                |
| `http_500`       | un servidor devolvió una respuesta con el código 500;                                                                                                                                                                                                                                                                                |
| `http_502`       | un servidor devolvió una respuesta con el código 502;                                                                                                                                                                                                                                                                                |
| `http_503`       | un servidor devolvió una respuesta con el código 503;                                                                                                                                                                                                                                                                                |
| `http_504`       | un servidor devolvió una respuesta con el código 504;                                                                                                                                                                                                                                                                                |
| `http_403`       | un servidor devolvió una respuesta con el código 403;                                                                                                                                                                                                                                                                                |
| `http_404`       | un servidor devolvió una respuesta con el código 404;                                                                                                                                                                                                                                                                                |
| `http_429`       | un servidor devolvió una respuesta con el código 429;                                                                                                                                                                                                                                                                                |
| `non_idempotent` | normalmente, las solicitudes con un método [no idempotente](https://datatracker.ietf.org/doc/html/rfc7231#section-4.2.2)<br/>(`POST`, `LOCK`, `PATCH`) no se pasan al siguiente<br/>servidor si ya se ha enviado una solicitud a un servidor upstream; activar esta<br/>opción permite reintentar explícitamente dichas solicitudes; |
| `off`            | desactiva el paso de una solicitud al siguiente servidor.                                                                                                                                                                                                                                                                            |

#### NOTE
Debe tenerse en cuenta que pasar una solicitud al siguiente servidor solo es posible si aún no se ha enviado nada al cliente. Es decir, si ocurre un error o un tiempo de espera a mitad de la transferencia de una respuesta, no es posible solucionarlo.

La directiva también define qué se considera un [intento fallido](https://es.angie.software//angie/docs/configuration/modules/http/http_upstream.md#max-fails) de comunicación con un servidor.

| `error`, `timeout`, `invalid_header`                       | siempre se consideran intentos fallidos, incluso si no se especifican en la directiva   |
|------------------------------------------------------------|-----------------------------------------------------------------------------------------|
| `http_500`, `http_502`, `http_503`, `http_504`, `http_429` | se consideran intentos fallidos solo si se especifican en la directiva                  |
| `http_403`, `http_404`                                     | nunca se consideran intentos fallidos                                                   |

El paso de una solicitud al siguiente servidor puede estar limitado por el [número de intentos](#grpc-next-upstream-tries) y por el [tiempo](#grpc-next-upstream-timeout).

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

<a id="grpc-next-upstream-timeout"></a>

### grpc_next_upstream_timeout

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_next_upstream_timeout` time;   |
|--------------------------------------------------------------------------------------------|--------------------------------------|
| Predeterminado                                                                             | `grpc_next_upstream_timeout 0;`      |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location               |

Limita el tiempo durante el cual una solicitud puede pasarse al [siguiente servidor](#grpc-next-upstream).

| `0`   | desactiva esta limitación   |
|-------|-----------------------------|

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

<a id="grpc-next-upstream-tries"></a>

### grpc_next_upstream_tries

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_next_upstream_tries` number;   |
|--------------------------------------------------------------------------------------------|--------------------------------------|
| Predeterminado                                                                             | `grpc_next_upstream_tries 0;`        |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location               |

Limita el número de intentos posibles para pasar una solicitud al [siguiente](#grpc-next-upstream) servidor.

| `0`   | desactiva esta limitación   |
|-------|-----------------------------|

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

<a id="grpc-pass"></a>

### grpc_pass

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_pass` address;     |
|--------------------------------------------------------------------------------------------|--------------------------|
| Predeterminado                                                                             | —                        |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | location, if in location |

Establece la dirección del servidor gRPC. La dirección puede especificarse como un nombre de dominio o dirección IP, y un puerto:

```nginx
grpc_pass localhost:9000;
```

o como una ruta de socket de dominio UNIX:

```nginx
grpc_pass unix:/tmp/grpc.socket;
```

Alternativamente, se puede usar el esquema `grpc://`:

```nginx
grpc_pass grpc://127.0.0.1:9000;
```

Para usar gRPC sobre SSL, se debe usar el esquema `grpcs://`:

```nginx
grpc_pass grpcs://127.0.0.1:443;
```

Si un nombre de dominio se resuelve a varias direcciones, todas ellas se utilizarán de forma rotatoria. Además, una dirección puede especificarse como un [grupo de servidores](https://es.angie.software//angie/docs/configuration/modules/http/http_upstream.md#http-upstream).

El valor del parámetro puede contener variables. En este caso, si una dirección se especifica como un nombre de dominio, el nombre se busca entre los grupos de servidores descritos y, si no se encuentra, se determina utilizando un [resolver](https://es.angie.software//angie/docs/configuration/modules/http/index.md#resolver).

#### NOTE
Si `grpc_pass` se especifica en un `location` con una barra diagonal al final en el prefijo
(por ejemplo, `location /name/`),
y la directiva [auto_redirect](https://es.angie.software//angie/docs/configuration/modules/http/index.md#auto-redirect) está establecida en `default`,
las solicitudes sin barra diagonal al final serán redirigidas (`/name -> /name/`).

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

<a id="grpc-pass-header"></a>

### grpc_pass_header

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_pass_header` field;   |
|--------------------------------------------------------------------------------------------|-----------------------------|
| Predeterminado                                                                             | —                           |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location      |

Permite pasar campos de cabecera [de otro modo deshabilitados](#grpc-hide-header) desde un servidor gRPC hacia un cliente.

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

<a id="grpc-read-timeout"></a>

### grpc_read_timeout

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_read_timeout` time;   |
|--------------------------------------------------------------------------------------------|-----------------------------|
| Predeterminado                                                                             | `grpc_read_timeout 60s;`    |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location      |

Define un tiempo de espera para leer una respuesta desde el servidor gRPC. El tiempo de espera se establece únicamente entre dos operaciones de lectura sucesivas, no para la transmisión de toda la respuesta. Si el servidor gRPC no transmite nada dentro de este tiempo, la conexión se cierra.

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

<a id="grpc-send-timeout"></a>

### grpc_send_timeout

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_send_timeout` time;   |
|--------------------------------------------------------------------------------------------|-----------------------------|
| Predeterminado                                                                             | `grpc_send_timeout 60s;`    |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location      |

Establece un tiempo de espera para transmitir una solicitud al servidor gRPC. El tiempo de espera se establece únicamente entre dos operaciones de escritura sucesivas, no para la transmisión de toda la solicitud. Si el servidor gRPC no recibe nada dentro de este tiempo, la conexión se cierra.

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

<a id="grpc-set-header"></a>

### grpc_set_header

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_set_header` field value;                    |
|--------------------------------------------------------------------------------------------|---------------------------------------------------|
| Predeterminado                                                                             | `grpc_set_header Content-Length $content_length;` |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                            |

Permite redefinir o añadir campos a la cabecera de la solicitud [pasada](https://es.angie.software//angie/docs/configuration/modules/http/http_proxy.md#proxy-pass-request-headers) al servidor gRPC. El valor puede contener texto, variables y sus combinaciones. Estas directivas se heredan del nivel de configuración anterior si y solo si no hay directivas grpc_set_header definidas en el nivel actual.

Si el valor de un campo de cabecera es una cadena vacía, entonces este campo no se pasará al servidor gRPC:

```nginx
grpc_set_header Accept-Encoding "";
```

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

<a id="grpc-socket-keepalive"></a>

### grpc_socket_keepalive

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_socket_keepalive` `on` | `off`;   |
|--------------------------------------------------------------------------------------------|-----------------------------------------|
| Predeterminado                                                                             | `grpc_socket_keepalive off;`            |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                  |

Configura el comportamiento "TCP keepalive" para conexiones salientes a un servidor gRPC.

| `off`   | Por defecto, la configuración del sistema operativo está en efecto para el socket.   |
|---------|--------------------------------------------------------------------------------------|
| `on`    | La opción de socket SO_KEEPALIVE está activada para el socket.                       |

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

<a id="grpc-ssl-certificate"></a>

### grpc_ssl_certificate

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_certificate` file;   |
|--------------------------------------------------------------------------------------------|--------------------------------|
| Predeterminado                                                                             | —                              |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location         |

Especifica un archivo con el certificado en formato PEM utilizado para la autenticación a un servidor gRPC SSL. Se pueden usar variables en el nombre del archivo.

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

<a id="grpc-ssl-certificate-cache"></a>

### grpc_ssl_certificate_cache

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_certificate_cache` `off`;<br/><br/>`grpc_ssl_certificate_cache` `max=`N [`inactive=`time] [`valid=`time];   |
|--------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
| Predeterminado                                                                             | `grpc_ssl_certificate_cache off;`                                                                                     |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                                                                                                |

Define una caché que almacena [certificados SSL](#grpc-ssl-certificate) y [claves secretas](#grpc-ssl-certificate-key) especificados mediante variables.

La directiva admite los siguientes parámetros:

- `max` — establece el número máximo de elementos en la caché. Cuando la caché
  se desborda, se eliminan los elementos menos utilizados recientemente (LRU).
- `inactive` — define el tiempo tras el cual se elimina un elemento si no
  ha sido accedido. El valor predeterminado es 10 segundos.
- `valid` — define el tiempo durante el cual un elemento almacenado en caché es considerado
  válido y puede reutilizarse. El valor predeterminado es 60 segundos. Transcurrido este periodo,
  los certificados se recargan o revalidan.
- `off` — desactiva la caché.

Ejemplo:

```nginx
grpc_ssl_certificate       $grpc_ssl_server_name.crt;
grpc_ssl_certificate_key   $grpc_ssl_server_name.key;
grpc_ssl_certificate_cache max=1000 inactive=20s valid=1m;
```

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

<a id="grpc-ssl-certificate-key"></a>

### grpc_ssl_certificate_key

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_certificate_key` file;   |
|--------------------------------------------------------------------------------------------|------------------------------------|
| Predeterminado                                                                             | —                                  |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location             |

Especifica un archivo con la clave secreta en formato PEM utilizada para la autenticación a un servidor gRPC SSL.

El valor `engine:`name`:id` puede especificarse en lugar del archivo, lo que carga una clave secreta con un id específico desde el motor OpenSSL name.

El valor `store:scheme:id` puede especificarse en lugar del archivo, que se utiliza para cargar una clave secreta con un id específico y un URI scheme registrado del proveedor OpenSSL, como [pkcs11](https://datatracker.ietf.org/doc/html/rfc7512).

Se pueden utilizar variables en el nombre del archivo.

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

<a id="grpc-ssl-ciphers"></a>

### grpc_ssl_ciphers

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_ciphers` ciphers;   |
|--------------------------------------------------------------------------------------------|-------------------------------|
| Predeterminado                                                                             | `grpc_ssl_ciphers DEFAULT;`   |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location        |

Especifica los cifrados habilitados para las solicitudes a un servidor gRPC SSL. Los cifrados se especifican en el formato entendido por la biblioteca OpenSSL.

La lista de cifrados depende de la versión de OpenSSL instalada.
La lista completa puede verse utilizando el comando `openssl ciphers`.

#### WARNING
La directiva `grpc_ssl_ciphers` *no* configura cifrados para TLS
1.3 cuando se usa OpenSSL. Para ajustar los cifrados TLS 1.3 con OpenSSL, use la
directiva [grpc_ssl_conf_command](#grpc-ssl-conf-command), que se añadió para soportar configuración
SSL avanzada.

- En LibreSSL, los cifrados TLS 1.3 *sí pueden* configurarse usando
  `grpc_ssl_ciphers`.
- En BoringSSL, los cifrados TLS 1.3 no pueden configurarse en absoluto.

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

<a id="grpc-ssl-conf-command"></a>

### grpc_ssl_conf_command

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_conf_command` name value;   |
|--------------------------------------------------------------------------------------------|---------------------------------------|
| Predeterminado                                                                             | —                                     |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                |

Establece [comandos](https://docs.openssl.org/master/man3/SSL_CONF_cmd/) de configuración arbitrarios de OpenSSL al establecer una conexión con el servidor gRPC SSL.

#### NOTE
La directiva es compatible cuando se usa OpenSSL 1.0.2 o superior.
Para configurar cifrados TLS 1.3 con OpenSSL, use el comando `ciphersuites`.

Se pueden especificar varias directivas grpc_ssl_conf_command en el mismo nivel. Estas directivas se heredan del nivel de configuración anterior si y solo si no hay directivas grpc_ssl_conf_command definidas en el nivel actual.

#### WARNING
Tenga en cuenta que configurar OpenSSL directamente podría resultar en comportamiento inesperado.

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

<a id="grpc-ssl-crl"></a>

### grpc_ssl_crl

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_crl` file;   |
|--------------------------------------------------------------------------------------------|------------------------|
| Predeterminado                                                                             | —                      |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location |

Especifica un archivo con certificados revocados (CRL) en formato PEM utilizado para [verificar](#grpc-ssl-verify) el certificado del servidor gRPC SSL.

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

<a id="grpc-ssl-name"></a>

### grpc_ssl_name

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_name` name;                           |
|--------------------------------------------------------------------------------------------|-------------------------------------------------|
| Predeterminado                                                                             | `grpc_ssl_name `nombre de host` de grpc_pass;\` |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                          |

Permite sobrescribir el nombre del servidor utilizado para [verificar](#grpc-ssl-verify) el certificado del servidor gRPC SSL y para ser [pasado a través de SNI](#grpc-ssl-server-name) al establecer una conexión con el servidor gRPC SSL.

Por defecto, se utiliza el nombre de host de [grpc_pass](#grpc-pass).

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

<a id="grpc-ssl-password-file"></a>

### grpc_ssl_password_file

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_password_file` file;   |
|--------------------------------------------------------------------------------------------|----------------------------------|
| Predeterminado                                                                             | —                                |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location           |

Especifica un archivo con frases de contraseña para [claves secretas](#grpc-ssl-certificate-key) donde cada frase de contraseña se especifica en una línea separada. Las frases de contraseña se prueban sucesivamente al cargar la clave.

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

<a id="grpc-ssl-protocols"></a>

### grpc_ssl_protocols

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_protocols` [`SSLv2`] [`SSLv3`] [`TLSv1`] [`TLSv1.1`] [`TLSv1.2`] [`TLSv1.3`];   |
|--------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|
| Predeterminado                                                                             | `grpc_ssl_protocols TLSv1.2 TLSv1.3;`                                                     |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                                                                    |

#### Versionchanged
Distinto en la versión 1.2.0: Parámetro `TLSv1.3` añadido al conjunto predeterminado.

Habilita los protocolos especificados para las solicitudes a un servidor gRPC SSL.

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

<a id="grpc-ssl-server-name"></a>

### grpc_ssl_server_name

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_server_name` `on` | `off`;   |
|--------------------------------------------------------------------------------------------|----------------------------------------|
| Predeterminado                                                                             | `grpc_ssl_server_name off;`            |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                 |

Habilita o deshabilita el paso del nombre del servidor
establecido por la directiva [grpc_ssl_name](#grpc-ssl-name)
a través de la extensión TLS
[Server Name Indication](http://en.wikipedia.org/wiki/Server_Name_Indication)
(SNI,
[RFC 6066](https://datatracker.ietf.org/doc/html/rfc6066.html))
al establecer una conexión con el servidor gRPC SSL.

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

<a id="grpc-ssl-session-reuse"></a>

### grpc_ssl_session_reuse

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_session_reuse` `on` | `off`;   |
|--------------------------------------------------------------------------------------------|------------------------------------------|
| Predeterminado                                                                             | `grpc_ssl_session_reuse on;`             |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                   |

Determina si las sesiones SSL pueden reutilizarse cuando se trabaja con el servidor gRPC. Si aparecen en los registros errores como "SSL3_GET_FINISHED:digest check failed", intente desactivar la reutilización de sesiones.

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

<a id="grpc-ssl-trusted-certificate"></a>

### grpc_ssl_trusted_certificate

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_trusted_certificate` file;   |
|--------------------------------------------------------------------------------------------|----------------------------------------|
| Predeterminado                                                                             | —                                      |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location                 |

Especifica un archivo con certificados CA de confianza en formato PEM utilizados para [verificar](#grpc-ssl-verify) el certificado del servidor gRPC SSL.

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

<a id="grpc-ssl-verify"></a>

### grpc_ssl_verify

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_verify` `on` | `off`;   |
|--------------------------------------------------------------------------------------------|-----------------------------------|
| Predeterminado                                                                             | `grpc_ssl_verify off;`            |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location            |

Habilita o deshabilita la verificación del certificado del servidor gRPC SSL.

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

<a id="grpc-ssl-verify-depth"></a>

### grpc_ssl_verify_depth

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `grpc_ssl_verify_depth` number;   |
|--------------------------------------------------------------------------------------------|-----------------------------------|
| Predeterminado                                                                             | `grpc_ssl_verify_depth 1;`        |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http, server, location            |

Establece la profundidad de verificación en la cadena de certificados del servidor gRPC SSL.
