HSTS Nedir? HTTP Strict Transport Security Rehberi (2026)
HSTS nedir, nasıl çalışır ve neden önemlidir? HTTP Strict Transport Security başlığının SEO etkisi, güvenlik faydaları ve doğru yapılandırma rehberi.
İçindekiler
Siteniz HTTPS'e geçti, ama bir kullanıcı http:// yazarak gelirse ne olur? 301 yönlendirme yapar, doğru — ama bu yönlendirme sürecinde bağlantı kısa süreliğine güvensiz HTTP üzerinden geçer. HSTS, bu boşluğu kapatır.
HSTS Nedir?
HSTS (HTTP Strict Transport Security), web sunucusunun tarayıcıya "bu siteye her zaman HTTPS ile bağlan, HTTP denemesi bile yapma" komutunu veren bir HTTP güvenlik başlığıdır.
Tarayıcı bu başlığı bir kez aldıktan sonra belirlenen süre boyunca HTTP bağlantısını hiç denemez — doğrudan HTTPS ile bağlanır.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
HSTS Olmadan Ne Olur?
Klasik HTTPS kurulumunda akış şöyle işler:
- Kullanıcı
http://example.comyazar - Tarayıcı HTTP isteği gönderir (güvensiz)
- Sunucu 301 ile
https://example.com'a yönlendirir - Bağlantı güvenli hale gelir
Problem: 2. ve 3. adım arasında güvensiz HTTP bağlantısı var. Bu pencerede:
- Kötü niyetli kişi HTTP trafiğini dinleyebilir (man-in-the-middle)
- Kullanıcı oturumunu ele geçirebilir
- HTTP yanıtını manipüle edebilir (SSL stripping saldırısı)
HSTS ile Akış
- İlk ziyarette HTTPS bağlantısı kurulur
- Sunucu HSTS başlığı gönderir: "31536000 saniye (1 yıl) boyunca sadece HTTPS kullan"
- Tarayıcı bunu kaydeder
- Kullanıcı
http://example.comyazdığında tarayıcı sunucuya sormadan HTTP isteğini HTTPS'e çevirir - Güvensiz bağlantı hiç oluşmaz
HSTS Başlık Parametreleri
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
max-age
Saniye cinsinden süre. Bu süre boyunca tarayıcı yalnızca HTTPS kullanır.
max-age=300 → 5 dakika (test için)
max-age=86400 → 1 gün
max-age=2592000 → 30 gün
max-age=31536000 → 1 yıl (önerilen)
max-age=63072000 → 2 yıl (preload gereksinimi)
includeSubDomains
Bu direktif, HSTS politikasını tüm alt alanlara da uygular:
www.example.com→ HSTS aktifblog.example.com→ HSTS aktifapi.example.com→ HSTS aktif
Dikkat: Tüm subdomainlerin HTTPS sertifikası olduğundan emin olmadan bunu eklemeyin. Sertifikasız bir subdomain erişilemez hale gelir.
preload
Siteyi HSTS Preload listesine dahil etmeye hazır olduğunuzu belirtir. Bu parametre yalnızca preload başvurusu için gereklidir.
HSTS Preload Listesi
HSTS'nin bir zayıflığı: Tarayıcı HSTS başlığını almak için sitenizi en az bir kez HTTPS ile ziyaret etmelidir. İlk ziyarette hâlâ saldırıya açık bir pencere vardır.
HSTS Preload, bu sorunu çözer: Siteyi büyük tarayıcıların (Chrome, Firefox, Safari, Edge) gömülü listesine ekler. Kullanıcı siteyi daha hiç ziyaret etmemiş olsa bile tarayıcı HTTPS kullanır.
Preload Başvurusu
Gereksinimler:
- Geçerli HTTPS sertifikası
- Tüm HTTP trafiğini HTTPS'e yönlendirme
includeSubDomainsdirektifi zorunlupreloaddirektifi zorunlumax-ageen az 31536000 (1 yıl)
Başvuru: hstspreload.org — Google tarafından yönetilir.
Uyarı: Preload geri almak zordur ve aylar sürer. Siz preload'u kaldırsanız bile tarayıcılar güncelleme yapana kadar listede kalırsınız. %100 HTTPS'e geçmeden başvurmayın.
HSTS'yi Nasıl Aktif Edersiniz?
Apache
.htaccess veya httpd.conf içine:
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
Nginx
nginx.conf içindeki HTTPS server bloğuna:
server {
listen 443 ssl;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
}
Not: HSTS başlığını HTTP (80) server bloğuna eklememelisiniz — tarayıcı HTTP yanıtlarındaki HSTS başlığını işlemez.
Cloudflare
SSL/TLS → Edge Certificates → HTTP Strict Transport Security (HSTS) bölümünden aktif edin. Cloudflare arayüzünden max-age, includeSubDomains ve preload parametrelerini ayarlayabilirsiniz.
Next.js / Nuxt.js
next.config.js veya nuxt.config.ts'de response header olarak ekleyin:
// nuxt.config.ts
export default defineNuxtConfig({
routeRules: {
'/**': {
headers: {
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
}
}
}
})
HSTS ve SEO
Doğrudan SEO Etkisi
HTTPS, Google'ın resmi sıralama faktörlerindendir. HSTS, HTTPS'i garanti altına alır:
- Duplicate content önlenir:
http://vehttps://versiyonlarının aynı anda erişilebilir olması canonical sorununa yol açar. HSTS ile HTTP tamamen engellenir. - Güven sinyali: Google güvenli siteleri tercih eder. HSTS ekstra güvenlik katmanı ekler.
- PageSpeed: İlk HTTP isteğinin HTTPS'e yönlendirilmesi için harcanan süre elimine edilir.
HSTS Doğrulama
curl -I https://example.com
Çıktıda şu başlığı görmelisiniz:
strict-transport-security: max-age=31536000; includeSubDomains
Veya tarayıcıda F12 → Network → sitenin ana isteğini seçin → Response Headers.
SSL Labs Testi
ssllabs.com/ssltest adresine domain'inizi girin. A veya A+ notu almak için HSTS ve doğru SSL konfigürasyonu gereklidir.
Diğer Önemli HTTP Güvenlik Başlıkları
HSTS yanında şu başlıklar da önerilir:
Content-Security-Policy (CSP)
XSS saldırılarını önler. Hangi kaynaklardan içerik yüklenebileceğini belirtir:
Content-Security-Policy: default-src 'self'; script-src 'self' https://analytics.google.com
X-Content-Type-Options
Tarayıcının MIME type tahmin etmesini engeller:
X-Content-Type-Options: nosniff
X-Frame-Options
Sitenizin iframe içinde gösterilmesini engeller (clickjacking koruması):
X-Frame-Options: DENY
Referrer-Policy
Kullanıcı başka siteye geçtiğinde ne kadar referrer bilgisi paylaşılacağını belirler:
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy
Tarayıcı API'larına erişimi kısıtlar (kamera, mikrofon, konum):
Permissions-Policy: camera=(), microphone=(), geolocation=()
HSTS Geri Alma
Eğer tüm alt domainleri HTTPS'e taşıyamıyorsanız ve includeSubDomains eklediyseniz, HSTS'yi kaldırmanız gerekebilir:
max-age=0olarak header'ı güncelleyin- Tarayıcı bir sonraki ziyarette HSTS'yi temizler
- Preload listesindeyseniz hstspreload.org/removal üzerinden başvurun (haftalar alabilir)
Sık Sorulan Sorular
HSTS SSL sertifikasının yerini alır mı?
Hayır. HSTS, SSL sertifikasının HTTPS bağlantısını zorunlu kılmasını destekler — sertifikanın kendisi değildir. Geçerli bir SSL sertifikası şarttır.
HTTP'yi yönlendirmeden önce HSTS ekleyebilir miyim?
Hayır. Önce tüm HTTP trafiğinizi HTTPS'e yönlendirin, ardından HSTS ekleyin. Ters sıra erişilemeyen sayfalara yol açar.
HSTS sadece ana domain için mi?includeSubDomains olmadan sadece ana domain için geçerlidir. Subdomainler için de geçerli olmasını istiyorsanız direktifi ekleyin.
Site taşındıktan sonra eski HSTS ne zaman temizlenir?max-age süresi dolana kadar tarayıcı HSTS politikasını uygular. Acil temizleme için max-age=0 gönderin.
Sitenizin Güvenlik ve SEO Skorunu Kontrol Edin
Ücretsiz SEO analiz aracımız HTTPS durumunu, yönlendirme zincirlerini ve teknik SEO sorunlarını otomatik olarak kontrol eder.
İlgili içerikler: Canonical Tag Nedir? • robots.txt Nedir? • Google Search Console Kurulumu
Sitenizin SEO Skorunu Öğrenin
Bu rehberi uyguladıktan sonra sitenizi analiz edin ve ilerlemenizi ölçün.
Ücretsiz Analiz Et →