Diiklankan tidak semestinya berfungsi
Pelayan mengumumkan HTTP/3 dalam pengepala respons Alt-Svc, yang diterima klien melalui HTTP/1.1 atau HTTP/2. Pengepala itu hanyalah janji. HTTP/3 berjalan melalui QUIC pada UDP, jadi halaman boleh dimuatkan seperti biasa walaupun UDP disekat sepenuhnya, dan pelayar terus menggunakan HTTP/2 tanpa sebarang pemberitahuan.
curl -sI https://server.example/ | grep -i alt-svcSahkan pemindahan sebenar
Hanya permintaan yang selesai melalui QUIC mengesahkan HTTP/3. Gunakan curl yang dibina dengan sokongan HTTP/3; banyak pakej sistem tidak menyertakannya, lalu pilihan itu ditolak, dan ini tidak memberikan sebarang kesimpulan tentang pelayan. Dalam pelayar, buka alat pembangun dan lihat lajur Protocol, yang memaparkan h3 bagi permintaan sedemikian. Pelayar mungkin menggunakan HTTP/2 pada lawatan pertama, jadi muatkan halaman sekali lagi.
curl -V | grep -i http3
curl -sS --http3-only -o /dev/null -w '%{http_version}\n' https://server.example/Semak konfigurasi NGINX
NGINX memerlukan pendengar QUIC selain pendengar TCP, dan versi serta binaannya mesti menyokongnya. TLS 1.3 diperlukan kerana QUIC menggunakannya secara langsung. Semak konfigurasi sebelum memuatkannya semula. Nilai ma dalam Alt-Svc ialah tempoh dalam saat klien mengingati janji itu, jadi gunakan nilai yang singkat semasa menguji.
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 -tBuka UDP 443 di seluruh laluan
Punca kegagalan yang paling kerap ialah firewall yang membenarkan TCP 443 tetapi tidak membenarkan UDP 443. Semak pelayan dan sebarang penapis luaran. Anda boleh mengesahkan pada pelayan bahawa soket sedang mendengar. Sesetengah rangkaian korporat dan awam sengaja menyekat QUIC, jadi ujian yang gagal dari satu rangkaian tidak membuktikan pelayan bermasalah: ulanginya dari rangkaian lain.
sudo ss -lunp | grep ':443'
sudo ufw allow 443/udp
sudo tcpdump -ni any udp port 443Adakah protokol baharu lebih pantas?
HTTP/3 paling membantu pada sambungan yang mengalami kehilangan paket atau pertukaran rangkaian, kerana paket yang hilang tidak menahan aliran lain. Pada sambungan berwayar yang baik, perbezaannya mungkin kecil dan penggunaan CPU pelayan mungkin lebih tinggi. Ukur dalam keadaan anda sendiri dan bukannya menganggap prestasi pasti meningkat, dan kekalkan HTTP/2 untuk klien yang tidak boleh menggunakan UDP.
Ujian HTTP/3 dalam CH-J Server Manager
Server Diagnostics menyertakan klien HTTP, jadi ujian tidak bergantung pada curl sistem. Ia melaporkan HTTP/3 sebagai disahkan hanya selepas pemindahan QUIC selesai dan menganggap Alt-Svc sebagai iklan sahaja. Apabila UDP tamat masa, ia menyatakan bahawa sokongan pelayan masih belum disahkan kerana puncanya mungkin rangkaian antara anda dengan pelayan, dan ia tidak mengira peralihan kepada protokol lain sebagai kejayaan.