HTTPS Sunucusunda HSTS Eksik Hatası neden görülür? HSTS başlığı, max-age, alt alan ve preload ayarlarını güvenli biçimde nasıl kontrol edeceğinizi öğrenin.
Siteniz HTTPS üzerinden sorunsuz açılıyor olabilir. Buna rağmen bir güvenlik taramasında HTTPS Sunucusunda HSTS Eksik Hatası uyarısıyla karşılaşabilirsiniz. Buradaki problem SSL sertifikasının çalışmaması değildir. Sunucu, tarayıcıya bu alan adına bundan sonra yalnızca güvenli HTTPS bağlantısıyla erişmesi gerektiğini bildiren HSTS başlığını göndermiyordur.
Bu ayrım önemli. HTTP adresini HTTPS’e yönlendirmek bağlantıyı güvenli sürüme taşır, fakat tarayıcının ilk HTTP isteğini yapmasını tek başına engellemez. HTTP Strict Transport Security tam burada devreye girer. Tarayıcı HSTS politikasını daha önce aldıysa sonraki bağlantılarda HTTP sürümünü kullanmak yerine doğrudan HTTPS’e gider.
Birden fazla WordPress projesi yönetildiğinde alan adlarının güvenlik ayarlarını içerik yönetiminden ayrı takip etmek gerekebilir. Birden Fazla WordPress Sitesinde Toplu İçerik ve Medya Yönetimi konusu farklı sitelerde içerik operasyonunu kolaylaştırırken, HTTPS ve güvenlik başlıklarının her alan adı için ayrıca kontrol edilmesi gerektiğini de gösterir.

HTTPS Sunucusunda HSTS Eksik Hatası ne anlama gelir?
HTTPS Sunucusunda HSTS Eksik Hatası, sunucunun HTTPS yanıtında Strict-Transport-Security başlığını göndermediğini belirtir. HSTS etkin olduğunda tarayıcı belirlenen süre boyunca ilgili alan adına yalnızca HTTPS kullanarak bağlanır. Böylece HTTP sürümüne yapılan isteklerin güvenli bağlantı dışına çıkması engellenir ve protokol düşürme saldırılarına karşı ek koruma sağlanır.
Hata mesajının kendisi bazen yanlış anlaşılabiliyor. Site HTTPS açıldığı için güvenlik yapılandırmasının tamamlandığı düşünülüyor. Oysa HTTPS sertifikası ile HSTS aynı işi yapmıyor.
Sertifika bağlantıyı şifreler. HSTS ise tarayıcının bu alan adına nasıl bağlanacağını belirleyen bir politika oluşturur.
HTTPS yönlendirmesi varken HSTS neden gerekiyor?
Kullanıcı tarayıcıya http://site.com yazdığında sunucu onu HTTPS sürümüne yönlendirebilir. Fakat tarayıcı bu yönlendirmeyi alabilmek için önce HTTP bağlantısını başlatmıştır.
HSTS kaydı bulunan bir alan adında tarayıcı bu adımı atlar. HTTP adresi girilmiş olsa bile bağlantı HTTPS üzerinden açılır.
HTTPS Sunucusunda HSTS Eksik Hatası Nedenleri arasında en yaygın durum da oldukça basittir: HTTPS kurulmuştur, yönlendirme yapılmıştır fakat web sunucusunda HSTS başlığı hiç tanımlanmamıştır.
HSTS eklemeden önce ne kontrol edilmeli?
Burada acele etmek iyi fikir değil.
Öncelikle ana alan adının HTTPS üzerinden hatasız çalıştığını kontrol edin. Kullanılan sertifika geçerli olmalı ve HTTP istekleri HTTPS’e yönlenmelidir.
Alt alan adları da varsa onları ayrı ayrı açın. Çünkü birazdan göreceğimiz includeSubDomains seçeneği etkinleştirildiğinde HSTS politikası yalnızca ana siteyi değil alt alanları da kapsayabilir.
Ben HSTS ayarlarını kontrol ederken ilk olarak bu noktaya bakıyorum. Ana site HTTPS çalışırken yıllar önce açılmış bir test veya panel alt alanının hâlâ HTTP kullandığı yapılara rastlanabiliyor. Böyle bir durumda uzun süreli HSTS politikası eklemek, çözüm üretmek yerine yeni erişim problemi oluşturabilir.

HTTPS Sunucusunda HSTS Eksik Hatası nasıl giderilir?
HSTS, WordPress yönetim panelinden etkinleştirilen standart bir ayar değildir. Başlığın sunucu, proxy veya bu yanıtı yöneten altyapı üzerinden gönderilmesi gerekir.
İlk test için kısa bir süre kullanılabilir:
Strict-Transport-Security: max-age=300
Apache tarafında örnek kullanım şöyledir:
Header always set Strict-Transport-Security max-age=300
Nginx üzerinde ise:
add_header Strict-Transport-Security 'max-age=300' always;
max-age değeri saniye cinsindendir. Buradaki 300 değeri beş dakikaya karşılık gelir.
Neden hemen bir yıl vermiyoruz?
Çünkü HTTPS Sunucusunda HSTS Eksik Hatası çözülsün diye uzun süreli politika eklemek kolaydır, fakat yanlış yapılandırma varsa tarayıcı bu kararı hafızasında tutar. İlk testler kısa süreyle yapılabilir. HTTPS tarafının sorunsuz olduğu görüldükçe süre artırılabilir.
includeSubDomains ne zaman eklenmeli?
Ana alanla birlikte tüm alt alanların da sürekli HTTPS kullanmasını istiyorsanız HSTS başlığı şu hale getirilebilir:
Strict-Transport-Security: max-age=31536000; includeSubDomains
Bu satır basit görünür ama kapsamı büyüktür. Örneğin blog.site.com HTTPS çalışıyor fakat eski.site.com yalnızca HTTP üzerinden erişilebiliyorsa includeSubDomains sonrasında eski alan sorun çıkarabilir.
Bu yüzden HTTPS Sunucusunda HSTS Eksik Hatası çözülürken yalnızca ana sayfayı test etmek yeterli değildir.
HSTS preload kullanmak şart mı?
Hayır.
Preload, alan adının destekleyen tarayıcıların yerleşik HSTS listesine alınmasını amaçlar. Böylece kullanıcı siteyi daha önce hiç ziyaret etmemiş olsa bile tarayıcı HTTP bağlantısını kullanmamayı bilir.
Preload başlığı genellikle şu yapıya ulaşır:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Burada karar daha dikkatli verilmelidir. Preload için ana alanın ve alt alanların HTTPS kullanması, includeSubDomains bulunması ve uzun süreli max-age uygulanması gerekir. Listeye girdikten sonra geri dönüş de anlık değildir.
2026 itibarıyla preload her HTTPS sitesi için yapılması gereken varsayılan işlem gibi değerlendirilmemeli. HSTS kullanılabilir, preload ise alan yapısının uzun vadeli HTTPS kullanımına hazır olduğu durumlarda ayrıca düşünülmelidir.

HSTS başlığının çalıştığı nasıl kontrol edilir?
Tarayıcıda Geliştirici Araçları bölümünü açın. Ardından Network sekmesine geçip sayfayı yeniden yükleyin.
HTTPS isteğini seçtikten sonra Headers bölümünde şu başlığı arayın:
strict-transport-security
Değer görünüyorsa yalnızca varlığına bakmayın. max-age süresini ve varsa includeSubDomains bilgisini de kontrol edin.
Ben burada testi bir kez yapıp bırakmıyorum. Ana alanın yanında kullanılan www sürümünü ve önemli alt alanları ayrı sekmelerde açmak, HTTPS Sunucusunda HSTS Eksik Hatası giderilirken gözden kaçan alanları daha rahat ortaya çıkarıyor.
HSTS başlığı eklenmesine rağmen güvenlik taraması aynı uyarıyı veriyorsa başlığın web sunucusundan mı, CDN’den mi yoksa başka bir proxy katmanından mı geldiğinin incelenmesi gerekebilir. Böyle durumlarda 11858, 2011 yılından bu yana Türkiye genelinde 7/24 profesyonel teknik destek sunuyor. Bilgisayar, akıllı TV, sosyal medya ve modem gibi farklı alanlarda çalışan ekip gerektiğinde TeamViewer ve AnyDesk üzerinden lisanslı uzaktan bağlantı sağlıyor. Hizmet dakika bazlı şeffaf ücretlendirmeyle yürütülüyor; yüzde 95 memnuniyet oranı ve 500.000’den fazla başarılı işlem tecrübesi bulunuyor.
Sunucu tarafındaki güvenlik kontrolleri tamamlandıktan sonra WordPress geliştirme katmanına geçmek daha sağlıklı bir çalışma sırası oluşturur. Telex ile WordPress Blok Oluşturma Nasıl Yapılır konusu, özel blok hazırlarken kullanılan yeni geliştirme araçlarını görmek isteyenler için bağlantılı bir sonraki adım olabilir. Böylece sunucu yapılandırmasıyla WordPress içindeki geliştirme işlemleri birbirine karıştırılmaz.
HTTPS Sunucusunda HSTS Eksik Hatası için doğru çözüm, tarama aracındaki uyarıyı mümkün olan en yüksek max-age değeriyle susturmak değildir. Önce HTTPS yapısının tamamını kontrol etmek, sonra HSTS kapsamını bilinçli biçimde genişletmek gerekir. Sizde hata yalnızca ana alan adında mı çıkıyor, yoksa alt alanlarda da aynı uyarıyı görüyor musunuz? Yorumlarda paylaşabilirsiniz.