HTTP/2#

Fornece suporte para HTTP/2.

Ao compilar a partir do código-fonte, este módulo não é compilado por padrão; ele deve ser habilitado com a ‑‑with‑http_v2_module opção de compilação.

Em pacotes e imagens de nossos repositórios, o módulo está incluído na compilação.

Exemplo de Configuração#

server {
    listen 443 ssl;

    http2 on;

    ssl_certificate server.crt;
    ssl_certificate_key server.key;
}

Nota

Note que aceitar conexões HTTP/2 sobre TLS requer suporte à extensão TLS "Application-Layer Protocol Negotiation" (ALPN), que está disponível desde a versão 1.0.2 do OpenSSL.

Se a diretiva ssl_prefer_server_ciphers estiver definida com o valor "on", as cifras devem ser configuradas para estar em conformidade com a lista negra da RFC 9113, Apêndice A e ser suportadas pelos clientes.

Diretivas#

http2#

Adicionado na versão 1.2.0.

Sintaxe

http2 on | off;

Padrão

http2 off;

Contexto

http, server

Habilita o protocolo HTTP/2.

http2_body_preread_size#

Sintaxe

http2_body_preread_size size;

Padrão

Contexto

http, server

Define o tamanho do buffer por cada requisição no qual o corpo da requisição pode ser salvo antes de começar a ser processado.

http2_chunk_size#

Sintaxe

http2_chunk_size size;

Padrão

http2_chunk_size 8k;

Contexto

http, server, location

Define o tamanho máximo dos chunks nos quais o corpo da resposta é dividido. Um valor muito baixo resulta em maior overhead. Um valor muito alto prejudica a priorização devido ao bloqueio head-of-line.

http2_max_concurrent_pushes#

Descontinuado desde a versão 1.2.0.

Sintaxe

http2_max_concurrent_pushes number;

Padrão

http2_max_concurrent_pushes 10;

Contexto

http, server

Limita o número máximo de requisições push concorrentes em uma conexão.

http2_max_concurrent_streams#

Sintaxe

http2_max_concurrent_streams number;

Padrão

http2_max_concurrent_streams 128;

Contexto

http, server

Define o número máximo de streams HTTP/2 concorrentes em uma conexão.

http2_push#

Descontinuado desde a versão 1.2.0.

Sintaxe

http2_push uri | off;

Padrão

http2_push off;

Contexto

http, server, location

Envia preventivamente (empurra) uma requisição para o uri especificado junto com a resposta à requisição original. Apenas URIs relativos com caminho absoluto serão processados, por exemplo:

http2_push /static/css/main.css;

O valor uri pode conter variáveis.

Várias diretivas http2_push podem ser especificadas no mesmo nível de configuração. O parâmetro off cancela o efeito das diretivas http2_push herdadas do nível de configuração anterior.

http2_push_preload#

Descontinuado desde a versão 1.2.0.

Sintaxe

http2_push_preload on | off;

Padrão

http2_push_preload off;

Contexto

http, server, location

Habilita a conversão automática de links de preload especificados nos campos de cabeçalho de resposta "Link" em requisições push.

http2_recv_buffer_size#

Sintaxe

http2_recv_buffer_size size;

Padrão

http2_recv_buffer_size 256k;

Contexto

http

Define o tamanho do buffer de entrada por worker.

Variáveis Integradas#

O módulo http_v2 suporta as seguintes variáveis integradas:

$http2#

identificador do protocolo negociado:

h2

para HTTP/2 sobre TLS

h2c

para HTTP/2 sobre TCP em texto claro

""

uma string vazia caso contrário