HTTP/3, HTTP'yi QUIC üzerinde çalıştırır ve bu yüzden TLS 1.3 zorunludur. Ayrı bir sertifika türü gerekmez; HTTPS için kullandığınız aynı sertifika HTTP/3 bağlantılarında da kullanılır. Değişen, sunucunun UDP 443'ü dinlemesi ve istemciye HTTP/3'ü duyurmasıdır.
Ön koşullar
- HTTP/3 desteği olan sunucu yazılımı (Nginx'te QUIC destekli sürüm, 1.25 ve sonrası).
- TLS 1.3 etkin olmalı.
- Güvenlik duvarında ve bulut güvenlik gruplarında UDP 443 açık olmalı.
- Geçerli, tarayıcıların güvendiği bir sertifika.
Nginx örneği
server {
listen 443 ssl;
listen 443 quic reuseport;
http2 on;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_certificate /etc/ssl/alanadi.crt;
ssl_certificate_key /etc/ssl/alanadi.key;
add_header Alt-Svc 'h3=":443"; ma=86400';
}
Buradaki Alt-Svc başlığı, tarayıcıya "bu siteye HTTP/3 ile UDP 443 üzerinden de ulaşabilirsin" bilgisini verir. TCP dinleyicisi (listen 443 ssl) mutlaka kalmalıdır; ilk bağlantı ve UDP engelli ağlar için yedek yol odur.
Doğrulama
curl -sI https://alanadi.com/ | grep -i alt-svc
curl -I --http3-only https://alanadi.com/
Tarayıcıda geliştirici araçlarının Ağ sekmesinde "Protocol" sütununda h3 değerini görmelisiniz. İlk yüklemede h2 görünmesi normaldir; Alt-Svc bilgisi sonraki bağlantılarda devreye girer.
Sık sorunlar
- UDP 443 kapalıysa tarayıcı sessizce HTTP/2'ye döner; bu nedenle hata görmeden "çalışmıyor" gibi kalır.
- Arada CDN varsa HTTP/3'ü CDN ayarlarından açmanız gerekir.
- Bazı eski güvenlik duvarları UDP trafiğini sınırlar.
Yapılandırmanızı SSL denetleme aracıyla sınayabilir, sertifika seçimi için SSL seçim rehberine göz atabilirsiniz.