Sunucu Taşıma Sonrası Sitemde Ciddi SSL Sertifikası Sorunları Yaşıyorum, Çözüm Ne Olabilir?

0

Yakın zamanda, uzun süredir kullandığım sunucumu daha güncel bir yapıya geçirmek adına bir taşıma işlemi gerçekleştirdim. Her ne kadar tüm dosyaları ve veritabanını eksiksiz aktardığımı düşünsem de, taşıma sonrası sitemde ciddi ssl sertifikası sorunları yaşamaya başladım. Özellikle bazı tarayıcılarda 'NET::ERR_CERT_COMMON_NAME_INVALID' gibi hatalar alırken, Chrome gibi tarayıcılarda ise 'güvenli değil' uyarısıyla birlikte karışık içerik (mixed content) uyarıları görüyorum. Yönetim panelinden SSL sertifikasını defalarca yeniden kurdum, Let's Encrypt ile denedim, hatta Cloudflare'dan da bir süre destek aldım ama sorun bir türlü çözülmedi. '.htaccess' dosyamı da kontrol ettim, tüm HTTP isteklerini HTTPS'ye yönlendirme kurallarım doğru görünüyor. Sunucu loglarını incelediğimde ise, bazen belirli kaynaklara erişimde SSL handshake hataları ile karşılaşıyorum. Daha önce VPS'e taşıdığım sitem neden çok yavaş açılıyor ve takılıyor? (Kaynakta belirtildiği gibi) gibi bir problem yaşamıştım ama bu seferki tamamen SSL ile ilgili. Acaba sunucu tarafında, belki nginx veya Apache yapılandırmasında gözden kaçırdığım, SSL'in doğru bir şekilde çalışmasını engelleyen bir ayar mı var? Ya da sunucu (server) nedir, hosting ile arasındaki fark ne? (Kaynakta belirtildiği gibi) gibi temel kavramları bilmeme rağmen bu kadar spesifik bir hatayı çözemiyor olmamın altında başka bir neden yatıyor olabilir mi?

Cevaplar (1)

0

Sunucu taşıma süreçleri sonrası, SSL sertifikalarının doğru bir şekilde devreye alınamaması, DNS çözümlemesi veya sunucu yapılandırmasındaki senkronizasyon eksiklikleri nedeniyle sıkça karşılaşılan bir teknik vakadır. Özellikle 'NET::ERR_CERT_COMMON_NAME_INVALID' ve karışık içerik uyarıları, bu tür geçişlerde gözden kaçan detayların tipik göstergeleridir.

Ancak, eldeki sunucu erişim bilgileri ve yapılandırma dosyaları aracılığıyla, bu tür sorunların sistematik bir yaklaşımla tamamen çözüme kavuşturulması mümkündür. Doğru teşhis ve müdahale ile sitenizin güvenli erişimi yeniden sağlanacaktır.

Yaşanan sorunlar, genellikle sertifikanın Common Name (CN) değerinin istenen alan adıyla eşleşmemesinden ('NET::ERR_CERT_COMMON_NAME_INVALID') veya sunucu tarafında (Nginx/Apache) SSL'in doğru hosta atanmamasından kaynaklanır. Karışık içerik uyarıları ise, genellikle HTTPS üzerinden yüklenen bir sayfada, bazı kaynakların (resimler, CSS, JS vb.) hala HTTP ile çağrılmasından veya veritabanındaki eski HTTP URL referanslarından kaynaklanmaktadır.

Adım Adım Çözüm Yolları

  1. DNS Kayıtlarını Doğrula: Alan adının A ve CNAME kayıtlarının yeni sunucunun IP adresini ve doğru şekilde yönlendirmeleri içerdiğinden emin olun. DNS önbelleğinin temizlenmesi ve yayılım süresinin beklenmesi gerekebilir. Özellikle Cloudflare gibi CDN hizmetleri kullanılıyorsa, Cloudflare'daki SSL/TLS ayarlarının 'Full (Strict)' modda olduğundan ve orijin sunucuya giden trafiğin de HTTPS olduğundan emin olun.
  2. Sunucu (Nginx/Apache) Yapılandırmasını Kontrol Et: Yeni sunucudaki Nginx veya Apache yapılandırma dosyalarını detaylıca inceleyin.
    • Nginx: Genellikle /etc/nginx/sites-available/alanadiniz.conf veya benzeri bir yolda bulunan Server bloğundaki Listen 443 ssl; direktifinin ve Ssl_certificate, Ssl_certificate_key yollarının doğru sertifika dosyalarına işaret ettiğinden emin olun. Ayrıca, Server_name direktifinin tüm alan adı varyasyonlarını (örn: Alanadiniz.com www.alanadiniz.com) içerdiğini teyit edin.
    • Apache: Httpd-ssl.conf veya sanal host yapılandırma dosyasındaki (/etc/httpd/conf.d/ssl.conf veya /etc/apache2/sites-available/alanadiniz-ssl.conf) <VirtualHost *:443> bloğunda SSLCertificateFile, SSLCertificateKeyFile ve SSLCertificateChainFile direktiflerinin doğru dosya yollarını gösterdiğinden emin olun.
    
    server {
        listen 443 ssl;
        server_name alanadiniz.com www.alanadiniz.com;
        ssl_certificate /etc/letsencrypt/live/alanadiniz.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/alanadiniz.com/privkey.pem;
        # Diğer SSL ayarları...
    }
            
  3. Sertifika Zinciri (Certificate Chain) Bütünlüğünü Sağla: Kullanılan SSL sertifikasının tam zincirini (root, intermediate, primary) içerdiğinden emin olun. Eksik bir zincir, bazı tarayıcılarda güven sorunlarına yol açabilir. Let's Encrypt kullanıyorsanız, Fullchain.pem dosyasının kullanıldığını kontrol edin.
  4. Veritabanındaki HTTP URL'lerini Güncelle: Özellikle wordpress gibi CMS'lerde, veritabanında hala HTTP ile başlayan eski URL referansları kalmış olabilir. Bu referansları HTTPS olarak güncelleyin. Örneğin, WordPress için veritabanında Wp_options tablosundaki Siteurl ve Home değerlerini HTTPS olarak ayarlayın veya 'Better Search Replace' gibi eklentilerle tüm HTTP URL'lerini HTTPS'e dönüştürün.
  5. Online SSL Kontrol araçlarını Kullan: SSL Labs'ın SSL Testi gibi araçlarla alan adınızın SSL yapılandırmasını detaylıca analiz edin. Bu araçlar, eksik zincir, zayıf şifreleme veya hatalı yapılandırma gibi sorunları tespit etmede oldukça etkilidir.
  6. Sunucu Loglarını Detaylı İncele: Nginx için /var/log/nginx/error.log veya Apache için /var/log/apache2/error.log (veya Httpd/error_log) dosyalarını inceleyerek SSL handshake hatalarının veya diğer ilgili uyarıların nedenlerini tespit edin.

Yukarıdaki adımların titizlikle uygulanması, mevcut SSL sertifikası sorunlarının çözümü için gerekli yol haritasını sunmaktadır.

Kullanıcılar