Konu Değerlendirmesi:
  • 0 Oy(lar) - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5
SSL Var Ama Site Güvenli Değil: Mixed Content Nasıl Düzeltilir?
#1
SSL sertifikası kurulu olmasına rağmen tarayıcı adres çubuğunda site güvenli görünmeyebilir veya bazı sayfalarda güvenlik uyarısı çıkabilir. Bunun yaygın nedenlerinden biri HTTPS ile açılan sayfanın görsel, CSS, JavaScript, font veya iframe gibi bazı kaynakları hâlâ HTTP üzerinden çağırmasıdır. Bu durum Mixed Content olarak adlandırılır.

Bu rehberde SSL çalıştığı halde Mixed Content uyarısı veren bir sitede güvensiz kaynağı nasıl bulacağınızı ve problemi kalıcı şekilde nasıl düzelteceğinizi adım adım inceleyeceğiz.


Önce SSL sertifikasının gerçekten çalıştığını doğrulayın

Şu adresi doğrudan açın:

Kod:
https://site.com

Site HTTPS üzerinden hiç açılmıyorsa önce SSL sertifikasının kendisini kontrol etmeniz gerekir.

Mixed Content problemi genellikle HTTPS sayfası açıldığı halde sayfa içerisindeki bazı kaynakların HTTP kullanmasıdır.


1. Mixed Content nedir?

Sayfanız:

Kod:
https://site.com

üzerinden açılır.

Ancak HTML içerisinde örneğin:

Kod:
http://site.com/gorsel.webp

çağrısı bulunur.

HTTPS sayfanın HTTP kaynağı çağırması Mixed Content oluşturabilir.


2. Sorun yalnızca görsellerden kaynaklanmaz

HTTP üzerinden çağrılan şu kaynaklar problem oluşturabilir:
  • Görseller
  • CSS dosyaları
  • JavaScript
  • Fontlar
  • iframe
  • Video kaynakları
  • Harici widget'lar
  • Bazı API çağrıları


3. Tarayıcı geliştirici araçlarını açın

Chrome veya benzeri bir tarayıcıda sorunlu sayfayı açın.

Klavyeden:

Kod:
F12

tuşuna basın.

Ardından:

Console

sekmesini açın.

Mixed Content problemi varsa tarayıcı çoğu zaman HTTP üzerinden çağrılan URL'yi burada gösterir.


4. Network sekmesini kontrol edin

Developer Tools içerisinde:

Network

sekmesini açın.

Sayfayı yenileyin.

İstekler arasında:

Kod:
http://

ile başlayan kaynakları arayın.

Amaç hangi dosyanın hâlâ HTTP üzerinden çağrıldığını bulmaktır.


5. Sayfa kaynağında HTTP URL'lerini arayın

Sayfa kaynağında:

Kod:
http://

ifadesini arayın.

Özellikle:

Kod:
src= href= url()

içerisinde kullanılan URL'leri kontrol edin.

Düz metin olarak yazılmış bir HTTP adresi her zaman Mixed Content oluşturmaz.


6. WordPress site adreslerini kontrol edin

WordPress kullanıyorsanız:

Ayarlar → Genel

alanını açın.

Şunların HTTPS kullandığını kontrol edin:

Kod:
WordPress Adresi Site Adresi

Örneğin:

Kod:
http://site.com

yerine:

Kod:
https://site.com

kullanılmalıdır.


7. Eski içeriklerde HTTP kayıtları kalmış olabilir

Site daha önce HTTP ile çalıştıysa içeriklerde şu tür eski URL'ler bulunabilir:

Kod:
http://site.com/wp-content/uploads/resim.webp

SSL sertifikası kurmak veritabanındaki bütün eski URL'leri her zaman otomatik değiştirmez.


8. Veritabanında yedeksiz toplu değiştirme yapmayın

Şu değişikliği doğrudan ve yedeksiz uygulamayın:

Kod:
http://site.com → https://site.com

Özellikle WordPress veritabanında özel veri biçimleri bulunabilir.

Toplu değiştirme öncesinde:
  • Veritabanı yedeği alın
  • WordPress uyumlu araç kullanın
  • Mümkünse önce test çalıştırın
  • Domaini doğru yazdığınızdan emin olun


9. Tema dosyalarını kontrol edin

Tema içerisinde sabit olarak yazılmış HTTP URL'si olabilir.

Örneğin:

Kod:
background-image: url('http://site.com/bg.webp');

Tema dosyalarında ve tema seçeneklerinde:

Kod:
http://

araması yapın.


10. CSS içerisindeki fontları kontrol edin

Sayfada hiçbir HTTP görsel göremediğiniz halde Mixed Content devam ediyorsa font dosyalarını inceleyin.

Örneğin:

Kod:
@font-face { src: url('http://site.com/fonts/font.woff2'); }

güvensiz kaynak oluşturabilir.


11. Harici servisleri kontrol edin

Site şu tür harici kaynaklar kullanabilir:
  • Harita
  • Video
  • Canlı destek
  • Rezervasyon
  • Sayaç
  • Harici font

Bu servislerden birinin URL'si HTTP olabilir.

Varsa HTTPS sürümünü kullanın.


12. iframe kodlarını kontrol edin

Örneğin:

Kod:
<iframe src="http://example.com/widget"></iframe>

HTTPS sayfada Mixed Content oluşturabilir.

iframe kaynağının HTTPS destekleyip desteklemediğini kontrol edin.


13. CDN adreslerini kontrol edin

Ana site:

Kod:
https://site.com

üzerinden açılıyor olabilir.

Ancak statik dosyalar:

Kod:
http://cdn.site.com

üzerinden yükleniyorsa problem devam eder.

CDN domaininin de HTTPS desteklediğinden emin olun.


14. Cache temizliği yapın

HTTP URL'sini düzelttikten sonra eski içerik cache'den gelmeye devam edebilir.

Şunları temizleyin:
  • Site cache
  • WordPress cache
  • Sunucu cache
  • CDN cache
  • Tarayıcı cache

Ardından gizli sekmede tekrar test edin.


15. HTTP'den HTTPS'ye yönlendirme yeterli olmayabilir

Şöyle bir yapı bulunabilir:

Kod:
http://site.com/resim.webp → https://site.com/resim.webp

Ancak mümkün olduğunda sayfa kaynağında doğrudan:

Kod:
https://site.com/resim.webp

kullanmak daha temizdir.


16. Ana domain yönlendirmesini kontrol edin

Şu adres:

Kod:
http://site.com

HTTPS sürümüne yönlenmelidir.

Mümkün olduğunca gereksiz yönlendirme zincirlerinden kaçının.


17. Mixed Content ile sertifika hatasını karıştırmayın

Mixed Content:

Geçerli HTTPS sayfasının HTTP kaynak çağırmasıdır.

Ancak tarayıcı:
  • Sertifikanın süresi dolmuş
  • Sertifika domainle eşleşmiyor
  • Sertifika güvenilir değil

diyorsa problem farklıdır.


18. DNS değişikliğinden sonra SSL farklı davranıyorsa

Domain yakın zamanda yeni sunucuya taşındıysa bazı DNS resolver'ları eski sunucu IP'sini kullanıyor olabilir.

Eski ve yeni sunucuda farklı SSL yapılandırmaları varsa kullanıcılarda farklı sonuçlar görülebilir.

Bu durumda DNS Değişikliği Ne Kadar Sürer? DNS Yayılımı Nasıl Kontrol Edilir? rehberini kullanabilirsiniz.


19. HTTPS dosyası 403 veriyorsa

Kaynak URL'si doğru şekilde:

Kod:
https://site.com/style.css

olabilir.

Ancak sunucu bu dosyaya:

Kod:
403 Forbidden

döndürüyor olabilir.

Bu durumda problem Mixed Content değil erişim iznidir.

403 Forbidden Hatası Nedir? cPanel'de Nasıl Çözülür? rehberindeki kontrolleri uygulayın.


Mixed Content hızlı kontrol sırası

  1. HTTPS adresi çalışıyor mu?
  2. Console hangi HTTP URL'sini gösteriyor?
  3. Network bölümünde HTTP kaynak var mı?
  4. WordPress adresleri HTTPS mi?
  5. Eski içeriklerde HTTP URL'si var mı?
  6. Tema ve CSS dosyaları kontrol edildi mi?
  7. Font ve iframe kaynakları HTTPS mi?
  8. CDN HTTPS kullanıyor mu?
  9. Cache temizlendi mi?
  10. HTTP ana domain HTTPS'ye yönleniyor mu?


Sonuç

Mixed Content çözümünde doğru sıra:

Console → problemli URL → kaynağın bulunduğu yer → HTTPS düzeltmesi → cache temizliği → yeniden test

şeklindedir.

SSL sertifikasının kurulu olması tek başına bütün kaynakların güvenli şekilde yüklendiğini garanti etmez.

Hangi dosyanın HTTP üzerinden çağrıldığını tek tek tespit edip kaynağında HTTPS olarak düzeltmek en temiz çözümdür.
Bul Yanıtla


Hızlı Erişim:


Bu Konuya Göz Atan Kullanıcılar: 1 Ziyaretçi(ler)