CH-J Server ManagerPalvelimen hallinta yli SSH
Valikko
Kaikki oppaat ja artikkelit →

Näin varmistat, että HTTP/3 ja QUIC todella toimivat

Miksi Alt-Svc-otsake ei ole todiste, mitä NGINX-asetuksista ja palomuurista pitää tarkistaa ja miten todellinen QUIC-siirto varmistetaan.

Ilmoitettu tuki ei takaa toimivuutta

Palvelin ilmoittaa HTTP/3-tuesta vastauksen Alt-Svc-otsakkeessa, jonka asiakas saa HTTP/1.1- tai HTTP/2-yhteydellä. Otsake on vain lupaus. HTTP/3 toimii QUIC-protokollalla UDP:n päällä, joten sivu voi latautua normaalisti, vaikka UDP olisi kokonaan estetty, ja selain jatkaa huomaamatta käyttäen protokollaa HTTP/2.

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

Varmista todellinen siirto

Vain loppuun suoritettu pyyntö QUIC-yhteydellä vahvistaa protokollan HTTP/3. Käytä curl-versiota, joka on käännetty HTTP/3-tuella. Monista järjestelmäpaketeista tuki puuttuu, jolloin valitsin hylätään, mikä ei kerro palvelimesta mitään. Avaa selaimen kehittäjätyökalut ja katso protokollasaraketta: tällaisen pyynnön kohdalla siinä näkyy h3. Selain voi käyttää ensimmäisellä käynnillä HTTP/2:ta, joten lataa sivu uudelleen.

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

Tarkista NGINX-määritys

NGINX tarvitsee TCP-kuuntelijan rinnalle QUIC-kuuntelijan, ja sekä version että koontiversion on tuettava sitä. TLS 1.3 vaaditaan, koska QUIC käyttää sitä suoraan. Tarkista määritys ennen sen uudelleenlatausta. Alt-Svc-otsakkeen ma-arvo kertoo sekunteina, kuinka kauan asiakkaat muistavat lupauksen, joten käytä testauksen aikana lyhyttä aikaa.

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

Salli UDP 443 koko reitillä

Yleisin epäonnistumisen syy on palomuuri, joka sallii TCP 443:n mutta ei UDP 443:a. Tarkista palvelin ja kaikki ulkoiset suodattimet. Pistokkeen kuuntelun voi varmistaa palvelimella. Jotkin yritysverkot ja julkiset verkot estävät QUIC-liikenteen tarkoituksella, joten yhdestä verkosta epäonnistunut testi ei todista palvelimen vikaa: toista testi toisesta verkosta.

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

Onko uusi protokolla nopeampi?

HTTP/3 auttaa eniten yhteyksissä, joilla paketteja katoaa tai verkko vaihtuu, koska kadonnut paketti ei viivästytä muita virtoja. Hyvällä langallisella yhteydellä ero voi olla pieni ja palvelimen CPU-käyttö suurempi. Mittaa oma käyttötapauksesi sen sijaan, että olettaisit saavasi hyötyä, ja pidä HTTP/2 käytettävissä asiakkaille, jotka eivät voi käyttää UDP:tä.

HTTP/3-testi CH-J Server Manager -sovelluksessa

Server Diagnostics sisältää HTTP-asiakkaan, joten testi ei riipu järjestelmän curl-versiosta. Se ilmoittaa HTTP/3:n vahvistetuksi vasta loppuun suoritetun QUIC-siirron jälkeen ja käsittelee Alt-Svc-otsaketta vain ilmoituksena. UDP-aikakatkaisun yhteydessä se kertoo, että palvelimen tuki jää varmistamatta, sillä syy voi olla sinun ja palvelimen välisessä verkossa. Siirtymistä toiseen protokollaan ei lasketa onnistumiseksi.

Yksityiskohtaiset asiakirjat

RFC 9114: HTTP/3 →

NGINX: QUIC and HTTP/3 →

Biometrinen aukko ja turvallisuus →