HTTP/3#
Proporciona soporte para el protocolo HTTP/3 para conexiones de cliente, así como para conexiones con servidores proxy configurados usando las siguientes directivas del módulo Proxy:
Al compilar desde el código fuente, este módulo no se compila por defecto; debe habilitarse con la opción de compilación ‑‑with‑http_v3_module
build option.
En paquetes e imágenes de nuestros repositorios, el módulo está incluido en la compilación. Nota Tenga en cuenta que aceptar conexiones HTTP/3 sobre TLS requiere soporte para el protocolo TLSv1.3, disponible desde la versión 1.1.1 de OpenSSL. Habilita la negociación del protocolo HTTP/3. Habilita la negociación del protocolo HTTP/0.9 utilizado en pruebas de interoperabilidad QUIC. Advertencia Habilite este modo solo para ejecutar pruebas especializadas que lo requieran explícitamente. Predeterminado http, server Inicializa la configuración de HTTP/3 y QUIC y establece el número máximo de flujos de solicitudes HTTP/3 concurrentes en una conexión. Predeterminado http, server Establece la capacidad de la tabla dinámica
para conexiones de servidor. Nota Una directiva similar proxy_http3_max_table_capacity hace esto para conexiones proxy.
Para evitar errores,
el uso de tablas dinámicas está deshabilitado cuando se habilita el proxy con caché. Predeterminado http, server Establece el tamaño del búfer utilizado para leer y escribir en los flujos QUIC. Predeterminado http, server Establece el valor del parámetro de transporte QUIC active_connection_id_limit. Este es el número máximo de IDs de conexión que pueden almacenarse en el servidor. Habilita el enrutamiento de paquetes QUIC usando eBPF. Cuando está habilitado, esto permite soportar la migración de conexiones QUIC. Nota La directiva solo es compatible con Linux 5.7+. Habilita el envío en modo por lotes optimizado mediante offload de segmentación. Nota El envío optimizado es compatible solo en Linux que soporte UDP_SEGMENT. Establece un archivo con la clave secreta utilizada para cifrar tokens de restablecimiento sin estado y validación de direcciones. Por defecto, se genera una clave aleatoria en cada recarga. Los tokens generados con claves antiguas no son aceptados. Habilita la función de validación de direcciones QUIC. Esto incluye enviar un nuevo token en un paquete Retry o un marco NEW_TOKEN y validar un token recibido en el paquete Initial. El módulo http_v3 admite las siguientes variables integradas: identificador de protocolo negociado: para conexiones HTTP/3 para conexiones hq una cadena vacía en otros casos Número de serie de la conexión QUICEjemplo de Configuración#
http {
log_format quic '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" "$http3"';
access_log logs/access.log quic;
server {
# para una mejor compatibilidad se recomienda
# usar el mismo puerto para http/3 y https
listen 8443 quic reuseport;
listen 8443 ssl;
ssl_certificate certs/example.com.crt;
ssl_certificate_key certs/example.com.key;
location / {
# usado para anunciar la disponibilidad de HTTP/3
add_header Alt-Svc 'h3=":8443"; ma=86400';
}
}
}
Directivas#
http3#
http3_hq#
http3_max_concurrent_streams#
http3_max_concurrent_streams
número;http3_max_concurrent_streams 128;
http3_max_table_capacity#
http3_max_table_capacity
número;http3_max_table_capacity 4096;
http3_stream_buffer_size#
http3_stream_buffer_size
tamaño;http3_stream_buffer_size 64k;
quic_active_connection_id_limit#
quic_active_connection_id_limit
número;quic_active_connection_id_limit 2;
quic_bpf#
quic_gso#
quic_host_key#
quic_retry#
Variables Integradas#
$http3
#h3
hq
""
$quic_connection
#