<!-- review: finished -->

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

# HTTP/2

Proporciona soporte para [HTTP/2](https://datatracker.ietf.org/doc/html/rfc9113).

Al [compilar desde el código fuente](https://es.angie.software//angie/docs/installation/sourcebuild.md#sourcebuild),
este módulo no se compila por defecto;
debe habilitarse con la
[opción de compilación](https://es.angie.software//angie/docs/installation/sourcebuild.md#configure)
`‑‑with‑http_v2_module`.

En paquetes e imágenes de [nuestros repositorios](https://es.angie.software//angie/docs/installation/index.md#install-packages),
el módulo está incluido en la compilación.

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

## Ejemplo de configuración

```nginx
server {
    listen 443 ssl;

    http2 on;

    ssl_certificate server.crt;
    ssl_certificate_key server.key;
}
```

#### NOTE
Tenga en cuenta que aceptar conexiones HTTP/2 sobre TLS requiere soporte para la extensión TLS "Application-Layer Protocol Negotiation" (ALPN), que está disponible desde la versión 1.0.2 de [OpenSSL](http://www.openssl.org/).

Si la directiva [ssl_prefer_server_ciphers](https://es.angie.software//angie/docs/configuration/modules/http/http_ssl.md#ssl-prefer-server-ciphers) está configurada con el valor "on", los [cifrados](https://es.angie.software//angie/docs/configuration/modules/http/http_ssl.md#ssl-ciphers) deben configurarse para cumplir con la lista negra del [RFC 9113, Apéndice A](https://datatracker.ietf.org/doc/html/rfc9113#appendix-A) y ser compatibles con los clientes.

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

## Directivas

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

<a id="http2"></a>

### http2

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

Habilita el protocolo [HTTP/2](https://datatracker.ietf.org/doc/html/rfc9113).

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

<a id="http2-body-preread-size"></a>

### http2_body_preread_size

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

Establece el tamaño del búfer por cada solicitud en el que se puede guardar el cuerpo de la solicitud antes de que comience a procesarse.

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

<a id="http2-chunk-size"></a>

### http2_chunk_size

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

Establece el tamaño máximo de los fragmentos en los que se divide el cuerpo de la respuesta. Un valor demasiado bajo resulta en una mayor sobrecarga. Un valor demasiado alto perjudica la priorización debido al [bloqueo de cabeza de línea](http://en.wikipedia.org/wiki/Head-of-line_blocking).

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

<a id="http2-max-concurrent-pushes"></a>

### http2_max_concurrent_pushes

#### Deprecated
Obsoleto desde la versión 1.2.0.

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

Limita el número máximo de solicitudes [push](#http2-push) concurrentes en una conexión.

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

<a id="http2-max-concurrent-streams"></a>

### http2_max_concurrent_streams

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

Establece el número máximo de flujos HTTP/2 concurrentes en una conexión.

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

<a id="http2-push"></a>

### http2_push

#### Deprecated
Obsoleto desde la versión 1.2.0.

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

Envía preventivamente ([push](https://datatracker.ietf.org/doc/html/rfc9113#name-server-push)) una solicitud al uri especificado junto con la respuesta a la solicitud original. Solo se procesarán URIs relativos con ruta absoluta, por ejemplo:

```nginx
http2_push /static/css/main.css;
```

El valor `uri` puede contener variables.

Se pueden especificar varias directivas http2_push en el mismo nivel de configuración. El parámetro `off` cancela el efecto de las directivas http2_push heredadas del nivel de configuración anterior.

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

<a id="http2-push-preload"></a>

### http2_push_preload

#### Deprecated
Obsoleto desde la versión 1.2.0.

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

Habilita la conversión automática de [enlaces preload](https://www.w3.org/TR/preload/#server-push-http-2) especificados en los campos de cabecera de respuesta "Link" en solicitudes [push](https://datatracker.ietf.org/doc/html/rfc9113#name-server-push).

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

<a id="http2-recv-buffer-size"></a>

### http2_recv_buffer_size

| [Sintaxis](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | `http2_recv_buffer_size` size;   |
|--------------------------------------------------------------------------------------------|----------------------------------|
| Predeterminado                                                                             | `http2_recv_buffer_size 256k;`   |
| [Contexto](https://es.angie.software//angie/docs/configuration/configfile.md#configfile)   | http                             |

Establece el tamaño del búfer de entrada por [worker](https://es.angie.software//angie/docs/configuration/modules/core.md#worker-processes).

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

## Variables integradas

El módulo http_v2 admite las siguientes variables integradas:

<a id="v-http2"></a>

### `$http2`

identificador de protocolo negociado:

| `h2`   | para HTTP/2 sobre TLS            |
|--------|----------------------------------|
| `h2c`  | para HTTP/2 sobre TCP sin cifrar |
| `""`   | una cadena vacía en otros casos  |
