CH-J Server Manageradministrasi server melalui SSH
Menu
Semua panduan dan artikel →

Cara memastikan HTTP/3 dan QUIC benar-benar berfungsi

Mengapa header Alt-Svc bukan bukti, apa yang perlu diperiksa di NGINX dan firewall, serta cara memastikan transfer QUIC yang nyata.

Diumumkan belum berarti berfungsi

Server mengumumkan HTTP/3 melalui header respons Alt-Svc, yang diterima klien lewat HTTP/1.1 atau HTTP/2. Header ini hanya sebuah janji. HTTP/3 berjalan melalui QUIC di atas UDP, sehingga halaman dapat dimuat normal meskipun UDP diblokir sepenuhnya, sementara peramban diam-diam tetap menggunakan HTTP/2.

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

Pastikan transfer yang nyata

Hanya permintaan yang selesai melalui QUIC yang mengonfirmasi HTTP/3. Gunakan curl yang dibangun dengan dukungan HTTP/3; banyak paket sistem tidak menyertakannya, sehingga opsinya ditolak, dan hal ini tidak menunjukkan apa pun tentang server. Di peramban, buka alat pengembang dan lihat kolom Protocol, yang menampilkan h3 untuk permintaan tersebut. Peramban mungkin memakai HTTP/2 pada kunjungan pertama, jadi muat halaman sekali lagi.

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

Periksa konfigurasi NGINX

NGINX memerlukan listener QUIC selain listener TCP, dan versi serta hasil build-nya harus mendukungnya. TLS 1.3 wajib tersedia, karena QUIC menggunakannya secara langsung. Periksa konfigurasi sebelum memuat ulang. Nilai ma di Alt-Svc adalah durasi dalam detik selama klien mengingat janji tersebut, jadi gunakan nilai pendek selama pengujian.

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

Buka UDP 443 di seluruh jalur

Penyebab kegagalan yang paling sering adalah firewall yang mengizinkan TCP 443 tetapi tidak mengizinkan UDP 443. Periksa server dan semua filter eksternal. Anda dapat memastikan soket sedang mendengarkan di server. Beberapa jaringan perusahaan dan publik sengaja memblokir QUIC, jadi pengujian yang gagal dari satu jaringan tidak membuktikan bahwa server bermasalah: ulangi dari jaringan lain.

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

Apakah protokol baru lebih cepat?

HTTP/3 paling membantu pada koneksi dengan kehilangan paket atau perpindahan jaringan, karena paket yang hilang tidak menahan aliran lain. Pada koneksi kabel yang baik, perbedaannya mungkin kecil dan penggunaan CPU server dapat lebih tinggi. Ukur pada kondisi Anda sendiri daripada menganggap pasti ada peningkatan, dan tetap sediakan HTTP/2 bagi klien yang tidak dapat menggunakan UDP.

Pengujian HTTP/3 di CH-J Server Manager

Server Diagnostics menyertakan klien HTTP, sehingga pengujiannya tidak bergantung pada curl sistem. HTTP/3 dilaporkan terkonfirmasi hanya setelah transfer QUIC selesai, dan Alt-Svc hanya dianggap sebagai pengumuman. Jika UDP mengalami timeout, dukungan server dilaporkan tetap belum terverifikasi, karena penyebabnya mungkin jaringan antara Anda dan server, dan peralihan ke protokol lain tidak dihitung sebagai keberhasilan.

Dokumentasi terperinci

RFC 9114: HTTP/3 →

NGINX: QUIC and HTTP/3 →

Buka kunci biometrik dan keamanan →