CH-J Server Managergestión de servidores a través de SSH
Menú
Todos los tutoriales y artículos →

Cómo verificar que HTTP/3 y QUIC funcionan de verdad

Por qué una cabecera Alt-Svc no es una prueba, qué revisar en NGINX y el cortafuegos, y cómo confirmar una transferencia real por QUIC.

Anunciarlo no significa que funcione

Un servidor anuncia HTTP/3 en la cabecera de respuesta Alt-Svc, que el cliente recibe por HTTP/1.1 o HTTP/2. La cabecera es solo una promesa. HTTP/3 funciona sobre QUIC mediante UDP, de modo que la página puede cargar normalmente con UDP totalmente bloqueado y el navegador seguir con HTTP/2 sin avisar.

curl -sI https://server.example/ | grep -i alt-svc

Confirma una transferencia real

Solo una solicitud completada por QUIC confirma HTTP/3. Usa un curl compilado con soporte para HTTP/3; muchos paquetes del sistema no lo incluyen y, en ese caso, la opción se rechaza, lo que no dice nada sobre el servidor. En un navegador, abre las herramientas de desarrollo y consulta la columna de protocolo, que muestra h3 para una solicitud de este tipo. El navegador puede usar HTTP/2 en la primera visita, así que vuelve a cargar la página.

curl -V | grep -i http3
curl -sS --http3-only -o /dev/null -w '%{http_version}\n' https://server.example/

Revisa la configuración de NGINX

NGINX necesita un punto de escucha QUIC junto al de TCP, y tanto la versión como su compilación deben admitirlo. Se requiere TLS 1.3, porque QUIC lo utiliza directamente. Comprueba la configuración antes de recargarla. El valor ma de Alt-Svc indica el tiempo en segundos durante el que los clientes recuerdan la promesa, así que usa un valor corto durante las pruebas.

listen 443 ssl;
listen 443 quic reuseport;
http2 on;
add_header Alt-Svc 'h3=":443"; ma=300' always;

nginx -V 2>&1 | grep -o with-http_v3_module
sudo nginx -t

Abre UDP 443 en toda la ruta

La causa más frecuente de fallo es un cortafuegos que permite TCP 443, pero no UDP 443. Revisa el servidor y todos los filtros externos. En el servidor puedes confirmar si el socket está en escucha. Algunas redes corporativas y públicas bloquean QUIC deliberadamente, por lo que una prueba fallida desde una red no demuestra un problema del servidor: repítela desde otra.

sudo ss -lunp | grep ':443'
sudo ufw allow 443/udp
sudo tcpdump -ni any udp port 443

¿Es más rápido el nuevo protocolo?

HTTP/3 ayuda sobre todo en conexiones con pérdida de paquetes o cambios de red, porque un paquete perdido no retrasa los demás flujos. En una buena conexión por cable, la diferencia puede ser pequeña y el uso de CPU del servidor puede ser mayor. Mide tu propio caso en lugar de dar por hecha una mejora y mantén HTTP/2 disponible para los clientes que no pueden usar UDP.

La prueba de HTTP/3 en CH-J Server Manager

Server Diagnostics incluye un cliente HTTP, por lo que la prueba no depende del curl del sistema. Solo informa de HTTP/3 confirmado tras una transferencia QUIC completada y considera Alt-Svc únicamente un anuncio. Si se agota el tiempo de espera de UDP, indica que la compatibilidad del servidor sigue sin verificarse, porque la causa puede ser la red entre tu equipo y el servidor, y no cuenta el uso de otro protocolo como éxito.

Documentación detallada

RFC 9114: HTTP/3 →

NGINX: QUIC and HTTP/3 →

Seguridad y desbloqueo biométrico →