CH-J Server Managerupravljanje poslužiteljima preko SSH
Meni
Svi vodiči i članci →

Kako provjeriti rade li HTTP/3 i QUIC doista

Zašto zaglavlje Alt-Svc nije dokaz, što provjeriti u NGINX i vatrozidu te kako potvrditi stvaran QUIC prijenos.

Oglašeno ne znači i funkcionalno

Poslužitelj najavljuje HTTP/3 u zaglavlju odgovora Alt-Svc, koje klijent prima preko HTTP/1.1 ili HTTP/2. Zaglavlje je samo obećanje. HTTP/3 radi preko QUIC na UDP, pa se stranica može normalno učitati i uz potpuno blokiran UDP, dok preglednik bez obavijesti ostaje na HTTP/2.

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

Potvrdite stvaran prijenos

Samo dovršen zahtjev preko QUIC potvrđuje HTTP/3. Koristite curl izgrađen s podrškom za HTTP/3; mnogi sistemski paketi nemaju tu podršku pa odbijaju opciju, što ne govori ništa o poslužitelju. U pregledniku otvorite razvojne alate i pogledajte stupac Protocol, koji za takav zahtjev prikazuje h3. Pri prvom posjetu preglednik može koristiti HTTP/2, stoga ponovno učitajte stranicu.

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

Provjerite konfiguraciju NGINX

NGINX treba QUIC osluškivač uz TCP osluškivač, a verzija i način izgradnje moraju ga podržavati. Potreban je TLS 1.3 jer ga QUIC izravno koristi. Provjerite konfiguraciju prije ponovnog učitavanja. Vrijednost ma u Alt-Svc predstavlja vrijeme u sekundama tijekom kojeg klijenti pamte obećanje, pa tijekom testiranja koristite kratko vrijeme.

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

Otvorite UDP 443 na cijelom putu

Najčešći je uzrok neuspjeha vatrozid koji dopušta TCP 443, ali ne UDP 443. Provjerite poslužitelj i sve vanjske filtre. Na poslužitelju možete potvrditi osluškivanje na utičnici. Neke poslovne i javne mreže namjerno blokiraju QUIC, pa neuspješan test iz jedne mreže ne dokazuje pogrešku poslužitelja: ponovite ga iz druge.

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

Je li novi protokol brži?

HTTP/3 najviše pomaže na vezama s gubitkom paketa ili pri promjeni mreže, jer izgubljeni paket ne zadržava ostale tokove. Na dobroj žičanoj vezi razlika može biti mala, a potrošnja CPU-a na poslužitelju veća. Izmjerite vlastiti slučaj umjesto da pretpostavite poboljšanje i zadržite HTTP/2 za klijente koji ne mogu koristiti UDP.

HTTP/3 test u CH-J Server Manager

Server Diagnostics ima ugrađen HTTP klijent, pa test ne ovisi o sistemskom curl. HTTP/3 označava potvrđenim tek nakon dovršenog QUIC prijenosa, a Alt-Svc smatra samo najavom. Pri isteku vremena čekanja na UDP navodi da podrška poslužitelja ostaje neprovjerena, jer uzrok može biti mreža između vas i poslužitelja, a prelazak na drugi protokol ne računa kao uspjeh.

Detaljna dokumentacija

RFC 9114: HTTP/3 →

NGINX: QUIC and HTTP/3 →

Biometrično otključavanje i sigurnost →