HTTPS ile açılan bir sayfada bazı görsel, stil dosyası veya komut dosyalarının HTTP üzerinden yüklenmesi, tarayıcıların güvenlik uyarısı vermesine neden olabilir. Bu durum, sayfanın bazı bölümlerinin çalışmamasına ve kullanıcı güveninin azalmasına yol açar. Bu rehberde mixed content hatası için kaynakları taşıma, URL’leri düzenleme ve yapılan değişiklikleri doğrulama adımlarına odaklanacağız. Özel altyapılarda ek kontroller gerekebilir.
Mixed Content Hatası Nedir ve Neden Oluşur?

HTTPS ile açılan bir belgede herhangi bir kaynağın HTTP üzerinden çağrılması, sayfanın güvenlik bütünlüğünü bozar. Tarayıcılar bu uyumsuzluğu mixed content olarak değerlendirir; çünkü şifreli bağlantı içinde şifresiz veri akışı oluşur. Özellikle etkin içerik olarak kabul edilen JavaScript dosyaları, iframe’ler ve bazı API istekleri engellenebilir. Bu durum sayfanın işlevlerini bozmanın yanı sıra kullanıcı verilerinin değiştirilmesi veya izlenmesi riskini artırır.
Görseller, ses ve video dosyaları gibi pasif içerikler çoğu tarayıcıda yüklenebilir; ancak bağlantının güvenlik düzeyini düşürdüğü için yine de düzeltilmelidir. Sorun, site içindeki sabit HTTP adreslerinden, veritabanına kaydedilmiş eski bağlantılardan ya da harici CDN ve eklentilerden kaynaklanabilir. Kaynağı belirlemek için tarayıcının geliştirici araçlarında Console ve Security sekmeleri incelenir. Uyarı satırındaki dosya adresi, hatanın hangi içerikten doğduğunu gösterir.
HTTP İçerikleri HTTPS Üzerine Taşıma
HTTP ile çağrılan kaynakları güvenli protokole geçirmek için önce sayfanın kaynak referanslarını inceleyin. Görseller, stil dosyaları, JavaScript betikleri, yazı tipleri, iframe içerikleri ve video dosyaları içinde http:// ile başlayan adresleri belirleyin. Bu tarama, sorunun yalnızca görünür sayfa metninde değil, arka planda yüklenen dosyalarda da bulunabileceğini gösterir.
Her kaynağın HTTPS desteği ayrı ayrı kontrol edilmelidir. Kendi sunucunuzdaki dosyalar için HTTPS erişiminin çalıştığını doğrulayın; dış hizmetlerde ise sağlayıcının güncel dokümantasyonunu inceleyin. Bir CDN, analiz aracı veya ödeme hizmeti güvenli bağlantı sunmuyorsa aynı işlevi sağlayan alternatif bir kaynak değerlendirilmelidir.
Adres yapısı uygunsa göreli URL kullanmak, kaynağın sayfayla aynı protokol üzerinden yüklenmesini sağlayabilir. Örneğin /css stil.css biçimindeki yollar protokol değişikliklerinden daha az etkilenir. Protokol bağımsız URL kullanımı teknik olarak mümkün olsa da güncel uygulamalarda açıkça HTTPS yazmak daha anlaşılır ve güvenli bir tercihtir. Kalıcı adres değişiklikleri ise sonraki aşamada kod, veri ve sunucu yapılandırmaları birlikte incelenerek yapılmalıdır.
Kod ve Sunucu Ayarlarında Güvenli URL Düzenlemeleri

Güvenli URL düzenlemesi, yalnızca tarayıcıda görünen sayfayı değil, uygulamanın tüm veri ve yapılandırma katmanlarını kapsamalıdır. HTML içindeki görsel, yazı tipi ve betik çağrılarını; CSS, JavaScript ve tema dosyalarındaki sabit HTTP adreslerini tek tek inceleyin. Göreli URL kullanımı mümkün olduğunda protokol bağımlılığını azaltır.
İçerik yönetim sistemlerinde ana site adresi, medya yolu ve eklenti seçenekleri de kontrol edilmelidir. Veritabanında depolanan eski adresleri bulmak için alan adıyla birlikte HTTP URL araması yapılabilir. Toplu değişiklikten önce veritabanı yedeği alınmalı, değiştirme işlemi özellikle serileştirilmiş verileri bozmayacak araçlarla gerçekleştirilmelidir.
Sunucu tarafında yönlendirme kuralları, ters proxy ve CDN yapılandırmaları HTTPS teslimiyle uyumlu olmalıdır. Uygulamanın güvenli bağlantıyı algılayamaması, doğru adreslerin yeniden HTTP olarak üretilmesine neden olabilir. Bu nedenle değişiklikleri önce test ortamında uygulayıp yapılandırma dosyaları, ortam değişkenleri ve eklenti ayarlarını birlikte incelemek daha güvenlidir.
Düzeltme Sonrası Güvenlik Kontrolü ve Testler
Yapılan düzeltmelerin etkisini görmek için sayfayı yeniden yükleyip tarayıcının geliştirici araçlarını açın. Console bölümünde mixed content uyarılarının kalmadığını, Network sekmesinde tüm isteklerin HTTPS üzerinden gerçekleştiğini kontrol edin. Kaynak kodunu ve sertifika bilgisini inceleyerek protokolün sayfa genelinde tutarlı olduğunu doğrulayın.
Ardından form gönderimi, görseller, videolar, betikler ve üçüncü taraf hizmetler ayrı ayrı test edilmelidir. Önbellek temizlendikten sonra farklı tarayıcılarda ve mobil cihazlarda yeniden kontrol yapılması önemlidir; çünkü eski kayıtlar veya tarayıcıya özgü davranışlar hatanın düzeltilmiş görünmesini engelleyebilir. Güvenli bağlantı doğrulaması, yayın öncesi son kontrolün temelini oluşturur.