CH-J Server Managerspráva serverů přes SSH
Menu
Všechny návody a články →

Jak ověřit, že HTTP/3 a QUIC skutečně fungují

Proč hlavička Alt-Svc není důkaz, co zkontrolovat v NGINX a firewallu a jak potvrdit skutečný přenos přes QUIC.

Oznámená podpora neznamená funkčnost

Server oznamuje HTTP/3 v hlavičce odpovědi Alt-Svc, kterou klient obdrží přes HTTP/1.1 nebo HTTP/2. Hlavička je pouze příslib. HTTP/3 běží přes QUIC nad UDP, takže se stránka může normálně načíst i při zcela blokovaném UDP a prohlížeč bez upozornění zůstane u HTTP/2.

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

Potvrzení skutečného přenosu

Pouze dokončený požadavek přes QUIC potvrzuje HTTP/3. Použijte curl sestavený s podporou HTTP/3; mnoho systémových balíčků ji nemá a volbu pak odmítne, což o serveru nic nevypovídá. V prohlížeči otevřete vývojářské nástroje a podívejte se do sloupce protokolu, kde takový požadavek má hodnotu h3. Při první návštěvě může prohlížeč použít HTTP/2, proto stránku načtěte znovu.

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

Kontrola konfigurace NGINX

NGINX potřebuje vedle naslouchání na TCP také naslouchání pro QUIC a jeho verze i sestavení to musí podporovat. Je vyžadováno TLS 1.3, protože ho QUIC přímo používá. Před opětovným načtením konfiguraci zkontrolujte. Hodnota ma v Alt-Svc udává dobu v sekundách, po kterou si klienti příslib pamatují; při testování proto použijte krátkou dobu.

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

Povolte UDP 443 po celé trase

Nejčastější příčinou selhání je firewall, který povoluje TCP 443, ale ne UDP 443. Zkontrolujte server i všechny vnější filtry. Naslouchání na socketu lze ověřit na serveru. Některé firemní a veřejné sítě QUIC záměrně blokují, takže neúspěšný test z jedné sítě nedokazuje chybu serveru: zopakujte ho z jiné.

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

Je nový protokol rychlejší?

HTTP/3 pomáhá nejvíce u spojení se ztrátami paketů nebo při změnách sítě, protože ztracený paket nezdržuje ostatní proudy. Na kvalitním kabelovém připojení může být rozdíl malý a zatížení CPU serveru může vzrůst. Přínos nepředpokládejte, ale změřte vlastní situaci. Pro klienty, kteří nemohou používat UDP, ponechte dostupné HTTP/2.

Test HTTP/3 v CH-J Server Manager

Server Diagnostics obsahuje vlastního HTTP klienta, takže test nezávisí na systémovém curl. HTTP/3 označí jako potvrzené až po dokončeném přenosu QUIC a Alt-Svc považuje pouze za oznámení podpory. Při vypršení časového limitu UDP uvede, že podpora na serveru zůstává neověřená, protože příčina může být v síti mezi vámi a serverem. Přechod na jiný protokol se nepočítá jako úspěch.

Podrobná dokumentace

RFC 9114: HTTP/3 →

NGINX: QUIC and HTTP/3 →

Biometrické odemykání a zabezpečení →