Cloudflare etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Cloudflare etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

18 Ocak 2026 Pazar

Web Sitelerinde HTTP/3 (QUIC) Etkinleştirme Rehberi: Nginx + Cloudflare ile Daha Hızlı ve Dayanıklı Bağlantı

HTTP/3 Nedir ve Neden Önemli?

HTTP/3, web trafiğinin yeni nesil taşıma katmanı olarak TCP yerine UDP üzerinde çalışan QUIC protokolünü kullanır. Kulağa “sadece bir sürüm yükseltmesi” gibi gelse de etkisi pratiktir: bağlantı kurulumu daha hızlıdır, paket kaybı yaşandığında toparlanma daha akıllıdır ve aynı bağlantı üzerinde birden fazla istek gönderirken (multiplexing) TCP’nin “head-of-line blocking” sorununu önemli ölçüde azaltır. Mobil ağlar, Wi‑Fi’dan hücresel ağa geçiş gibi sık bağlantı değişimlerinin olduğu senaryolar ve yüksek gecikmeli hatlar HTTP/3’ten ciddi fayda görür.

Bu rehberde, HTTP/3’ü üretim ortamına yakın bir şekilde devreye almak için en pratik iki adımı ele alacağız: Cloudflare üzerinden hızlı aktivasyon ve Nginx tarafında doğru yapılandırma. Amaç, hem gerçek kullanıcı performansını artırmak hem de modern tarayıcıların sunduğu bağlantı optimizasyonlarından yararlanmak.

Ön Koşullar ve Kapsam

HTTP/3 etkinleştirmeden önce şunlara ihtiyacınız var: HTTPS (geçerli TLS sertifikası), alan adınızın DNS kontrolü ve tercihen CDN/Reverse Proxy katmanı. Cloudflare kullanıyorsanız süreç oldukça kolaylaşır çünkü HTTP/3 desteği edge katmanında sunulur. Nginx tarafında HTTP/3 doğrudan “klasik” paketlerle her dağıtımda aynı şekilde gelmeyebilir; bu nedenle burada daha çok doğru mantığı ve yapı taşlarını anlatacağım. Dağıtımınıza göre (Ubuntu, Debian, AlmaLinux vb.) paket isimleri ve sürümler değişebilir.

1) Cloudflare Üzerinden HTTP/3’ü Açma

En hızlı yol Cloudflare’dır: Cloudflare, istemci ile Cloudflare arasındaki bağlantıda HTTP/3’ü açar ve origin sunucunuza (Nginx/Apache) olan bağlantıyı ayrı şekilde yönetir. Böylece origin tarafında HTTP/3 hazır olmasa bile ziyaretçi tarafında kazanım elde edebilirsiniz.

Adımlar: Cloudflare paneline girin, ilgili alan adını seçin. Network (Ağ) sekmesinde HTTP/3 (with QUIC) seçeneğini bulun ve etkinleştirin. Ardından SSL/TLS kısmında modun en az “Full” (tercihen “Full (strict)”) olduğundan emin olun. HTTP/3, HTTPS olmadan zaten çalışmaz; bu adım kritik.

Bu noktadan sonra tarayıcılar, destekliyorsa Cloudflare edge ile HTTP/3 konuşmaya başlar. Ancak bazı durumlarda tarayıcının HTTP/3’e daha hızlı geçmesi için Alt-Svc duyurusu gerekir; Cloudflare bu başlığı genellikle otomatik yönetir.

2) Origin Sunucuda (Nginx) HTTP/3 Hazırlığı

Cloudflare kullanıyor olsanız bile origin tarafını modern tutmak iyi bir pratiktir. Özellikle Cloudflare’siz bir alt alan adı, özel bir edge senaryosu veya farklı CDN kullanımında origin’in HTTP/3 konuşabilmesi değerli olabilir. Nginx dünyasında HTTP/3 desteği, sürüme ve derleme seçeneklerine bağlıdır. Bazı dağıtımlar hazır paket sunarken, bazıları için HTTP/3 özellikli build gerekebilir.

Konsept olarak HTTP/3 için iki temel ihtiyaç vardır: UDP 443 portunun açık olması ve Nginx’in QUIC/HTTP/3 desteğiyle çalışması. Geleneksel HTTPS trafiği TCP/443’te kalırken, HTTP/3 UDP/443 üzerinden gelir. Bu yüzden güvenlik duvarınızda yalnızca TCP/443 açıksa HTTP/3 çalışmaz.

3) Güvenlik Duvarı ve Ağ Ayarları (UDP 443)

Sunucunuzun güvenlik duvarında UDP 443 trafiğine izin verin. Örnek olarak UFW kullanan bir sistemde mantık şudur: TCP 443 zaten açıktır, buna ek olarak UDP 443’ü de açmanız gerekir. Kurumsal ortamlarda load balancer, WAF veya güvenlik cihazlarının UDP trafiğini engellemediğinden emin olun. Aksi halde tarayıcı HTTP/3 denese bile geri düşerek HTTP/2 veya HTTP/1.1’e döner.

4) Nginx Konfigürasyonu: Dinleme ve Alt-Svc Mantığı

HTTP/3’ün “aktif” görünmesi için tarayıcıların bunu keşfetmesi gerekir. Bu genelde Alt-Svc başlığı ile yapılır. Mantık şudur: Sunucu, “aynı host için şu protokol ve port üzerinden de hizmet verebilirim” diye tarayıcıya duyuru yapar. Böylece tarayıcı sonraki isteklerde HTTP/3’e geçer.

Nginx tarafında (HTTP/3 destekli bir build varsayımıyla) tipik yaklaşım; TCP/443 üzerinde HTTP/2’yi açık tutarken aynı zamanda UDP/443 üzerinde QUIC/HTTP/3 dinlemektir. Konfigürasyonun detayı sürüme göre değişse de kontrol etmeniz gerekenler şunlardır: 443 portunda hem TCP hem UDP dinleme, TLS ayarlarının doğru olması, ve yanıt başlıklarında Alt-Svc duyurusunun bulunması. Alt-Svc örneği genellikle “h3=\":443\"; ma=...” gibi bir değer taşır; “ma” süresi tarayıcının bu bilgiyi ne kadar cache’leyeceğini belirler.

Ek olarak, HTTP/3 ile birlikte TLS 1.3 pratikte standarttır. Bu nedenle TLS yapılandırmanızın güncel olduğundan, eski şifre kümelerine bel bağlamadığınızdan ve sertifika zincirinizin doğru sunulduğundan emin olun.

5) Doğrulama: HTTP/3 Çalışıyor mu?

Değişikliklerden sonra test etmek önemlidir. En pratik yöntemlerden biri Chromium tabanlı tarayıcılarda geliştirici araçlarıdır: Network sekmesinde ilgili isteğin “Protocol” alanında h3 veya benzeri bir ifade görmeniz beklenir. Alternatif olarak komut satırında HTTP/3 destekli bir istemci ile (örneğin h3 destekli curl varyantları veya özel test araçları) hedef URL’yi sorgulayabilirsiniz. Eğer HTTP/3 devreye girmiyorsa genellikle sorunlar üç noktada toplanır: UDP 443 kapalı, Alt-Svc duyurusu yok veya proxy/CDN katmanının ayarları.

6) Performans ve SEO Açısından Etkisi

HTTP/3 tek başına “SEO puanı” veren bir sihir değildir; ancak hız ve kararlılık üzerinden dolaylı katkı sağlar. Daha hızlı bağlantı kurulumu ve özellikle mobil ağlarda daha stabil veri akışı, Core Web Vitals metriklerine olumlu yansıyabilir. Ayrıca modern tarayıcılar HTTP/3’e geçebildiğinde, yoğun istekli sayfalarda kullanıcı deneyimi daha tutarlı hale gelir. Yine de unutmayın: asıl kazanç; görsel optimizasyonu, doğru cache stratejisi, sıkıştırma (Brotli), kritik CSS ve iyi bir CDN kurgusu ile birlikte gelir. HTTP/3 bu zincirin güçlü bir halkasıdır.

Sonuç

HTTP/3 (QUIC), özellikle mobil kullanıcıların yoğun olduğu sitelerde ve gecikmenin hissedildiği bölgelerde gerçek fayda sağlayan modern bir yükseltmedir. Cloudflare kullanıyorsanız birkaç tıkla devreye alabilir, Nginx tarafında ise UDP 443, doğru TLS yaklaşımı ve Alt-Svc duyurusunun mantığını kavrayarak kalıcı bir kurulum planlayabilirsiniz. İyi bir test ve ölçüm süreciyle HTTP/3’ün sitenize etkisini net şekilde görür, gerektiğinde HTTP/2 ile birlikte hibrit bir yapı kullanarak en geniş uyumluluğu korursunuz.

18 Kasım 2025 Salı

Docker Compose ile Traefik v3, Cloudflare ve Let's Encrypt ile Otomatik Reverse Proxy Kurulumu

Giriş

Kendi sunucunuzda birden fazla web uygulamasını alan adlarıyla yönetmek, güvenli SSL sertifikalarını otomatik yenilemek ve trafik yönlendirmelerini zahmetsizce yapmak istiyorsanız, Traefik v3 sizin için biçilmiş kaftan. Bu yazıda, Docker Compose kullanarak Traefik v3 ile Cloudflare DNS ve Let’s Encrypt entegrasyonunu adım adım kuracağız. Hedefimiz: tek bir reverse proxy arkasında otomatik HTTPS, kolay yönlendirme ve minimum bakım maliyeti.

Neden Traefik v3?

Traefik, container tabanlı ortamlarda dinamik servis keşfi, otomatik TLS ve güçlü yönlendirme kurallarıyla öne çıkıyor. v3 sürümü, performans ve güvenlik iyileştirmeleri ile birlikte yapılandırma tutarlılığı sunuyor. Docker üzerinde çalışan mikro servisleriniz için exposedByDefault=false gibi güvenli varsayılanlarla ince ayar yapmak da oldukça kolay.

Önkoşullar

- Docker ve Docker Compose kurulu bir Linux sunucu (ör. Ubuntu 22.04).

- 80 ve 443 portlarının dış dünyaya açık olması.

- Alan adınız Cloudflare üzerinde yönetiliyor olmalı.

- Cloudflare üzerinde DNS düzenleme yetkisine sahip bir API Token (Zone.DNS.Edit, Zone.Read).

- Let’s Encrypt için bir e-posta adresi.

Adım 1: Cloudflare API Token oluşturun

Cloudflare hesabınızda User Profile > API Tokens > Create Token yolunu izleyin. “Edit zone DNS” şablonunu seçip alan adınızı kısıtlayın. Token’ı güvenle saklayın; birazdan docker-compose içinde kullanacağız.

Adım 2: Proje dizinini hazırlayın

Sunucuda boş bir klasör oluşturup içine docker-compose.yml ve isteğe bağlı .env dosyası yerleştireceğiz. Aşağıdaki örnek, Traefik v3’ü, Cloudflare DNS-01 challenge ile Let’s Encrypt sertifika yenilemesi yapacak şekilde hazırlar.

version: "3.8"

services:
  traefik:
    image: traefik:v3.0
    container_name: traefik
    command:
      - --api.dashboard=true
      - --providers.docker=true
      - --providers.docker.exposedByDefault=false
      - --entrypoints.web.address=:80
      - --entrypoints.websecure.address=:443
      - [email protected]
      - --certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json
      - --certificatesresolvers.letsencrypt.acme.dnschallenge=true
      - --certificatesresolvers.letsencrypt.acme.dnschallenge.provider=cloudflare
    ports:
      - "80:80"
      - "443:443"
    environment:
      - CF_DNS_API_TOKEN=${CF_DNS_API_TOKEN}
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./letsencrypt:/letsencrypt
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.http-catchall.rule=HostRegexp(`{host:.+}`)"
      - "traefik.http.routers.http-catchall.entrypoints=web"
      - "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
      - "traefik.http.routers.traefik.rule=Host(`proxy.example.com`)"
      - "traefik.http.routers.traefik.entrypoints=websecure"
      - "traefik.http.routers.traefik.tls.certresolver=letsencrypt"
      - "traefik.http.routers.traefik.service=api@internal"
      - "traefik.http.middlewares.dashboard-auth.basicauth.users=${TRAEFIK_DASHBOARD_USER}:${TRAEFIK_DASHBOARD_HASH}"
      - "traefik.http.routers.traefik.middlewares=dashboard-auth"

  whoami:
    image: traefik/whoami:latest
    container_name: whoami
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.whoami.rule=Host(`demo.example.com`)"
      - "traefik.http.routers.whoami.entrypoints=websecure"
      - "traefik.http.routers.whoami.tls.certresolver=letsencrypt"

Yukarıdaki örnekte dashboard’ı proxy.example.com üzerinden Basic Auth ile koruyoruz. whoami servisi ise demo.example.com üzerinden otomatik TLS ile yayınlanacak. Cloudflare tarafında bu iki alt alan adını A/AAAA kaydıyla sunucunuza yönlendirin. Cloudflare “turuncu bulut” (proxy) açık olabilir; DNS-01 challenge, proxied modda da sorunsuz çalışır.

Adım 3: Ortam değişkenleri ve parola karması

.env dosyanıza aşağıdaki gibi değerleri ekleyin. Basic Auth için bir bcrypt karma gerekir. Linux’ta hızla üretmek için şu komutu kullanabilirsiniz: htpasswd -nbB admin 'Sifre123' çıktısındaki admin:$2y$... kısmını kopyalayın.

CF_DNS_API_TOKEN=cf_api_tokeniniz_buraya
TRAEFIK_DASHBOARD_USER=admin
TRAEFIK_DASHBOARD_HASH=$2y$05$XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Adım 4: Servisleri başlatın

Klasörde docker compose up -d komutunu çalıştırın. İlk kurulumda Let’s Encrypt DNS-01 challenge ile TXT kaydı oluşturup doğrulama yapar ve acme.json içine sertifikaları yazar. Ardından https://demo.example.com adresini açtığınızda whoami çıktısını, https://proxy.example.com adresini açtığınızda ise kimlik doğrulama sonrası Traefik dashboard’ını görmelisiniz.

İpuçları ve iyi uygulamalar

- letsencrypt klasörünün izinlerini 600 veya 700 seviyesinde tutun; acme.json hassas bilgiler içerir.

- production ortamında traefik konteynerinin yalnızca ihtiyaç duyduğu ağlara eriştiğinden emin olun; Docker network’leri ile segmentasyon yapın.

- Rate limitlere takılmamak için Let’s Encrypt’in staging ortamını testlerde kullanabilirsiniz: --certificatesresolvers.letsencrypt.acme.caServer=https://acme-staging-v02.api.letsencrypt.org/directory parametresini ekleyip denemeler tamamlanınca kaldırın.

- Cloudflare’de DNSSEC aktifse, zone yapılandırmanızın doğru olduğundan emin olun; yanlış DS kayıtları çözümleme sorunlarına neden olabilir.

Sık karşılaşılan hatalar ve çözümler

- Giriş başarısız: CF_DNS_API_TOKEN yetkileri eksik olabilir. Token’a Zone.DNS.Edit ve Zone.Read sağlandığından ve doğru zone’da sınırlandığından emin olun.

- Sertifika alınamıyor: Alan adınız doğru IP’ye işaret ediyor mu? DNS yayılımı tamamlandı mı? Ayrıca Cloudflare’de CNAME flattening ayarları bazen beklenmedik davranışlar gösterebilir; A kaydıyla test etmek daha sağlıklıdır.

- 404 veya yönlendirme döngüsü: http-catchall ve redirect-to-https etiketlerinin çakışmadığından emin olun. Aynı ana bilgisayar için hem http hem https router tanımlarını kontrol edin.

Sonuç

Bu kurulumla Docker tabanlı servisleriniz için modern, güvenli ve otomatik bir reverse proxy katmanı elde ettiniz. Traefik v3, Cloudflare DNS-01 ve Let’s Encrypt birleşimi; mikro servislerinizi hızlıca yayına almanızı, sertifikaları otomatik yenilemeyi ve tek noktadan görünürlük sağlamayı mümkün kılıyor. Bundan sonra yeni bir servis eklemek yalnızca birkaç label yazmak kadar basit. Üstelik, aynı mimariyi staging ve production çevrelerinde tekrar kullanarak sürdürülebilir bir dağıtım modeli kurabilirsiniz.

28 Eylül 2025 Pazar

HTTP/3 ve QUIC Etkinleştirme Rehberi: Nginx ve Cloudflare ile Daha Hızlı Web

Giriş

Web sitenizi hızlandırmanın en etkili yollarından biri, HTTP/3 ve QUIC protokolünü devreye almak. 2024 ve sonrasında modern tarayıcıların büyük bölümü HTTP/3’ü yerleşik destekliyor ve başta mobil kullanıcılar olmak üzere gecikmeye duyarlı senaryolarda ciddi kazanımlar sağlıyor. Bu rehberde, HTTP/3 (QUIC) nedir, neden önemlidir ve Cloudflare ile Nginx üzerinde nasıl etkinleştirilir adım adım anlatıyorum. Ayrıca doğru test ve ölçüm yöntemleriyle kurulumun gerçekten işe yarayıp yaramadığını nasıl doğrulayabileceğinizi paylaşıyorum.

HTTP/3 ve QUIC Nedir, Neden Önemli?

HTTP/3, Google’ın QUIC protokolü üzerine inşa edilen ve TCP yerine UDP kullanan modern bir HTTP sürümüdür. Paket kaybı durumunda daha hızlı toparlanma, bağlantı göçü (Wi‑Fi’dan hücresel ağa geçerken bağlantının kopmaması), başlık sıkıştırması (QPACK) ve 0‑RTT gibi özelliklerle özellikle mobil ve yüksek gecikme senaryolarında daha düşük TTFB ve daha tutarlı yükleme süreleri sağlar.

HTTP/3 devreye alındığında siteniz HTTP/2 ve HTTP/1.1’e geriye dönük uyumluluğu korur. Yani destekleyen tarayıcılar otomatik olarak h3 kullanırken, diğerleri mevcut protokollere düşer. Bu da canlıya geçişte riskleri minimize eder.

Önkoşullar ve Uyum

- Sunucu veya CDN tarafında TLS 1.3 etkin olmalı. HTTP/3, TLS 1.3 gerektirir.

- Güvenlik duvarınızda UDP 443 açık olmalı. QUIC, TCP yerine UDP üzerinde çalışır.

- Tarayıcılarınız güncel olmalı. Chrome, Edge, Safari ve Firefox’un güncel sürümleri HTTP/3’ü destekler.

Cloudflare Üzerinden HTTP/3’i Açma

1) Cloudflare Paneline girin ve ilgili alan adını seçin. SSL/TLS bölümünde modunuzu “Full (strict)” olacak şekilde ayarlayın. Bu, güvenli uçtan uca bağlantıyı sağlar.

2) “Network” sekmesine gidin ve “HTTP/3 (with QUIC)” seçeneğini aktif edin. Cloudflare kenarlarında Alt-Svc başlığı otomatik olarak eklenecek, tarayıcılar h3’e geçecektir.

3) Güvenlik duvarı kurallarınızın UDP 443 trafiğini engellemediğini doğrulayın. Bazı kurum ağlarında UDP kısıtlı olabilir; gerçek kullanıcıların deneyimi bu durumdan etkilenebilir.

4) Test: Chrome DevTools’u açın (F12), Network sekmesinde “Protocol” sütununu görünür yapın. Sayfanızı yenileyin; isteklerin “h3” olarak geldiğini görmelisiniz. Alternatif olarak curl ile “curl -I --http3 https://alanadiniz.com” komutunu deneyebilirsiniz.

Nginx ile (Origin) HTTP/3 Yayını

Cloudflare kullanmıyorsanız veya origin’den doğrudan HTTP/3 sunmak istiyorsanız Nginx’in HTTP/3 desteğini etkinleştirmeniz gerekir. Nginx 1.25+ ile QUIC/HTTP/3 desteği mevcuttur ancak uygun şekilde derlenmiş paket (BoringSSL/QuicTLS ile) kullanmanız veya dağıtımınızın hazır paketlerini tercih etmeniz gerekir. Alternatif olarak Caddy gibi H3’ü daha kolay etkinleştiren sunucular da tercih edilebilir.

Nginx tarafında örnek bir yaklaşım: 443’te UDP ve TCP dinleyin, TLS 1.3’ü zorunlu kılın ve tarayıcıları HTTP/3’e yönlendirmek için Alt-Svc başlığı ekleyin. Yapılandırma mantığı şu şekildedir: 1) “listen 443 quic reuseport;” satırıyla QUIC’i açın. 2) “listen 443 ssl http2;” satırıyla H2 geri dönüşünü sağlayın. 3) “ssl_protocols TLSv1.3;” ile TLS 1.3’ü zorunlu tutun. 4) “add_header Alt-Svc 'h3=":443"; ma=86400';” başlığıyla tarayıcıya H3 desteğini duyurun. 5) Geçerli bir “ssl_certificate” ve “ssl_certificate_key” tanımlayın.

Değişikliklerden sonra Nginx’i yeniden yükleyin ve curl ile “--http3” bayrağını kullanarak test edin. Ayrıca tarayıcı geliştirici araçlarında protokol sütununu kontrol ederek canlı doğrulama yapabilirsiniz.

Performans Ölçümü ve Doğrulama

- Laboratuvar testleri: WebPageTest üzerinde “Advanced Settings” kısmından “HTTP/3 allowed” seçeneği ile koşun, TTFB ve “First Byte Out” metriklerini karşılaştırın. Lighthouse ve Chrome User Timing ile de sayfa içi işaretleri gözlemleyin.

- Gerçek kullanıcı verisi (RUM): Eğer mümkünse tarayıcı API’lerinden (PerformanceNavigationTiming) TTFB ve “connection type” bilgilerini toplayın. Mobil ağlarda H3 farkı daha belirgin çıkar.

- Doğrulama araçları: https://http3check.net ve https://quic.rocks gibi siteler hızlı doğrulama sunar. Cloudflare kullanıyorsanız Analytics > Performance bölümünde HTTP/3 istek yüzdesini görebilirsiniz.

Yaygın Sorunlar ve Çözümler

- UDP 443 kapalı: Birçok kurum veya ISS, UDP’yi kısıtlayabilir. Sunucu ve ağ sınırlarınızda bu portun açık olduğundan emin olun.

- Eski TLS yapılandırması: HTTP/3 sadece TLS 1.3 ile çalışır. Orijin veya CDN tarafında TLS 1.2’ye zorlayan kurallar mevcutsa kaldırın.

- Alt-Svc gecikmesi: Tarayıcılar Alt-Svc keşfini önbelleğe alır. İlk ziyarette HTTP/2, sonraki ziyaretlerde HTTP/3 görebilirsiniz. Testleri birden çok yenilemeyle yapın.

- Orijin ve CDN çakışması: Hem CDN hem orijin H3 sunuyorsa, tünelleme ve başlıklar beklenmedik etkileşime girebilir. Genellikle CDN üzerinden H3 sunmak en basit ve tutarlı yaklaşımdır.

Sonuç

HTTP/3 ve QUIC, özellikle mobil ve yüksek gecikmeli ortamlarda sitenizin algılanan hızını artırır, paket kaybından daha az etkilenir ve bağlantı değişimlerinde kullanıcı deneyimini korur. Cloudflare gibi bir CDN ile etkinleştirmek yalnızca birkaç tıklama sürer; orijin üzerinde Nginx ile kurulum ise biraz daha teknik olsa da kalıcı bir kazanım sağlar. Kurulumu tamamladıktan sonra doğru ölçümlerle etkiyi doğrulayın; TTFB, ilk boyama ve etkileşime geçiş metriklerinde genellikle kayda değer iyileşmeler göreceksiniz.

21 Eylül 2025 Pazar

HTTP/3 (QUIC) Nedir? Nginx ve Cloudflare Üzerinde Etkinleştirme Rehberi

HTTP/3 ve QUIC neden önemli?

Web sitelerinin hızlı yüklenmesi, hem kullanıcı deneyimi hem de SEO açısından belirleyicidir. HTTP/3, Google’ın QUIC taşıma protokolü üzerine inşa edilen en yeni HTTP sürümüdür ve UDP üzerinden çalışır. Bağlantı kurulumu için gereksiz el sıkışmaları ortadan kalkar, paket kaybı durumunda satır sonu tıkanması azalır ve özellikle mobil ile yüksek gecikmeli ağlarda belirgin hız kazanımı sağlar. Bu sayede TTFB düşer, etkileşim metrikleri iyileşir ve Core Web Vitals performansınız olumlu etkilenir.

HTTP/3 vs. HTTP/2: Öne çıkan farklar

HTTP/2 TCP üzerinde çalışırken, HTTP/3 QUIC sayesinde UDP kullanır. Bu mimari fark, bağlantı geçişlerinde (ör. Wi‑Fi’den 4G’ye) ve paket kaybı yaşanan ortamlarda akışların birbirini beklememesini sağlar. Üstelik 0‑RTT oturum yenileme sayesinde tekrar bağlanan kullanıcılar daha az gecikme yaşar. Sonuç olarak, aynı içerik daha akıcı ve daha hızlı sunulur.

Ön gereksinimler ve uyumluluk

HTTP/3 bugün Chrome, Edge, Firefox ve Safari’nin güncel sürümlerinde desteklenir. Sunucu tarafında ise iki kritik gereksinim ortaya çıkar: UDP/443 trafiğinin güvenlik duvarında açık olması ve TLS 1.3 desteği. Ayrıca Nginx gibi web sunucularında HTTP/3 desteği için doğru sürüm ve uygun TLS kitaplığı (OpenSSL’in QUIC destekli bir sürümü, BoringSSL veya quictls) gerekir.

Cloudflare üzerinde HTTP/3’ü etkinleştirme

Cloudflare kullanıyorsanız, HTTP/3 etkinleştirmek birkaç tıklama kadar kolaydır. Cloudflare panelinde alan adınızı seçin, Network sekmesine girin ve HTTP/3 (with QUIC) seçeneğini On konumuna getirin. Cloudflare, ziyaretçilere Alt-Svc başlığı ile HTTP/3’ü ilan eder ve QUIC üzerinden içerik sunmaya başlar. Bu aşamada ek bir sunucu yapılandırması gerekmeyebilir; ancak kaynak sunucunuzun HTTP/2 veya HTTP/1.1 için sağlıklı cevap verdiğinden emin olun.

Nginx’te HTTP/3 (QUIC) kurulum adımları

HTTP/3’ü doğrudan Nginx’te sunmak istiyorsanız, önce HTTP/3 modülü destekli bir Nginx derlemesine ihtiyaç vardır. En güncel mainline Nginx sürümünü kullanın ve derleme sırasında HTTP/3 modülünü etkinleştirin. Ayrıca QUIC destekli bir TLS kütüphanesi (örneğin OpenSSL’in QUIC desteği olan bir sürümü veya BoringSSL/quictls) ile derleme yapmanız gerekir.

Yapılandırma tarafında, site (server) bloğunuzda hem klasik TLS hem de QUIC için dinleme direktifleri ekleyin. Tipik olarak 443 portu için iki dinleme satırı kullanılır: biri listen 443 ssl; diğeri listen 443 quic reuseport;. TLS 1.3’ü açın ve geçerli bir sertifika/anahtar atayın. İstemcilerin HTTP/3’ü kolay keşfetmesi için Alt-Svc başlığı tavsiye edilir; örneğin Alt-Svc: h3=":443"; ma=86400 gibi. Böylece tarayıcılar sonraki isteklerde HTTP/3 yolunu tercih eder.

Konfigürasyon güncellemesinden sonra Nginx’i hatasız yeniden başlatın. Güvenlik duvarında UDP 443’ün gerçekten açık olduğundan emin olun; aksi halde tarayıcılar HTTP/3’e geçemeyip HTTP/2’ye geri döner.

Doğrulama ve test

Hızlı bir kontrol için tarayıcınızın geliştirici araçlarındaki Network panelinde ilgili isteğin Protocol sütununa bakın; h3 görüyorsanız HTTP/3 aktif demektir. Alternatif olarak HTTP/3 destekli bir curl sürümüyle başlıkları sorgulayabilirsiniz: curl --http3 -I https://alanadiniz.com. Dönen yanıtta alt-svc başlığı ve protokolün h3 olduğuna dair işaretler görmelisiniz. Dış doğrulama için çevrimiçi HTTP/3 test araçlarını da kullanabilirsiniz.

Performans ipuçları ve en iyi uygulamalar

HTTP/3 tek başına bir sihirli değnek değildir; ancak iyi bir önbellekleme stratejisi, doğru cache-control başlıkları, Early Hints (103) ve kaynak önceliklendirmesiyle birleştiğinde etkisi katlanır. Resimleri modern formatlara (AVIF/WebP) taşıyın, kritik CSS’i optimize edin ve CDN’inizi edge’de önbelleklemek üzere yapılandırın. Mobil ağlarda daha da iyi sonuç için DNS çözümleme sürelerini kısaltın ve gereksiz üçüncü taraf istekleri budayın.

Sorun giderme: En sık görülen engeller

- UDP kapalı: Birçok güvenlik duvarı varsayılan olarak UDP 443’ü engeller. Kuralı açın ve sağlayıcınızın UDP’yi desteklediğinden emin olun.
- Ortak barındırma kısıtları: Bazı paylaşımlı hosting ortamlarında HTTP/3 henüz sunulmaz. Bu durumda bir CDN üzerinde HTTP/3’ü etkinleştirmek pratik bir ara çözümdür.
- Yanlış TLS kitaplığı: Nginx derlemenizde QUIC destekli bir TLS kitaplığı kullanmadıysanız HTTP/3 aktif olmayacaktır. Sürüm ve yapı bayraklarını gözden geçirin.
- Orta katman proxy’ler: WAF, DDoS koruması veya ek proxy katmanları UDP’yi bozabilir. Trafik zincirindeki her bileşenin HTTP/3 uyumluluğunu doğrulayın.

SEO ve iş etkisi

Daha hızlı bağlantı kurulumu ve paket kaybına dayanıklı aktarım, özellikle mobil kullanıcıların ilk etkileşim süresini düşürür. Bu, LCP ve FID/INP gibi metriklere olumlu yansır, hemen çıkma oranlarını azaltır ve dönüşüm oranlarını artırabilir. Arama motorları doğrudan “HTTP/3 kullanıyor musunuz?” diye puan vermez; fakat hız ve kullanıcı deneyimi sinyalleri arka planda sıralamayı etkiler. Kısacası HTTP/3, teknik borcunuzu azaltan ve yatırımı hızlı geri ödeyen bir yükseltmedir.

Sonuç

HTTP/3 (QUIC), günümüzün değişken ve gürültülü ağ koşullarında web’i daha hızlı ve dayanıklı kılan önemli bir adımdır. Cloudflare gibi CDN’lerle dakikalar içinde aktif edebilir, Nginx üzerinde ise doğru sürüm ve TLS kitaplığıyla uçtan uca kontrol sağlayabilirsiniz. UDP 443’ü açmayı, TLS 1.3’ü etkinleştirmeyi ve Alt-Svc ilanını eklemeyi unutmayın. Doğrulama testlerinden sonra performans metriklerinizi izleyin; çoğu sitede ölçülebilir iyileşme göreceksiniz.