SSL sertifikası domain mismatch hatası, web sitenizin güvenliğini ve kullanıcı deneyimini doğrudan etkileyen yaygın bir sorundur.
SSL sertifikası domain mismatch hatası, web sitenizin güvenliğini ve kullanıcı deneyimini doğrudan etkileyen yaygın bir sorundur. Bu hata, tarayıcıların SSL/TLS sertifikasının etki alan adıyla (domain) uyuşmadığını tespit etmesi durumunda ortaya çıkar. Sonuç olarak, ziyaretçiler “Bağlantı güvenli değil” gibi uyarılar alır ve siteye erişimde tereddüt eder. Kurumsal bir web sitesinde bu hata, marka itibarını zedelerken, e-ticaret platformlarında satış kayıplarına yol açabilir. Bu makalede, hatanın nedenlerini derinlemesine inceleyecek, pratik teşhis yöntemlerini paylaşacak ve adım adım çözüm yollarını açıklayacağız. Amacımız, IT ekiplerine ve web yöneticilerine somut rehberlik sunarak sorunsuz bir HTTPS geçişi sağlamaktır.
Bu hata, SSL sertifikasının Common Name (CN) veya Subject Alternative Name (SAN) alanlarının, ziyaret edilen domain ile tam eşleşmemesi nedeniyle oluşur. Örneğin, sertifika “example.com” için düzenlenmişse ancak site “www.example.com” üzerinden erişiliyorsa mismatch meydana gelir. Tarayıcılar gibi Chrome veya Firefox, sertifika zincirini doğrular ve uyumsuzluk tespit ettiğinde bağlantıyı keser. Bu durum, özellikle subdomain’ler veya birden fazla domain kullanan sitelerde sık görülür.
Hatanın önemi, modern web standartlarından kaynaklanır. Google, HTTPS’yi sıralama faktörü olarak kullanır ve güvenli olmayan siteleri kullanıcılara uyarır. Kurumsal düzeyde, PCI DSS gibi uyumluluk gereksinimleri bu hatayı tolere etmez. Teşhis için tarayıcı geliştirici araçlarını (F12 tuşu ile açılır) kullanın; Console sekmesinde “ERR_CERT_COMMON_NAME_INVALID” gibi kodlar göreceksiniz. Pratik takeaway: Her zaman sertifika detaylarını openssl x509 -in sertifika.crt -text -noout komutuyla kontrol edin, CN ve SAN listesini inceleyin.
Tarayıcı çubuğunda kilit simgesi yerine uyarı ikonu belirir ve “Gelişmiş” butonu ile detaylar açılır. Mobil cihazlarda ise tam sayfa uyarı ekranı gösterilir. Bu belirtiler, kullanıcı kaybına neden olur; istatistiklere göre %75’e varan terk oranı yaşanır. Sunucu loglarında Apache için “AH01914: SSL Certificate mismatch” veya Nginx için “SSL: error:0A00010B:SSL routines::wrong version number” gibi kayıtlar bulunur. Hemen kontrol edin: Erişim loglarınızı tarayın ve mismatch trafiğini filtreleyin.
Kurumsal sitelerde güven kaybı, SEO cezaları ve yasal uyumsuzluklar doğurur. E-posta sertifikaları için de benzer sorunlar yaşanır, örneğin Outlook’ta “Sertifika geçersiz” uyarısı. Uzun vadede, dönüşüm oranları %20-30 düşer. Önleme için, sertifika sağlayıcınızdan (Let’s Encrypt, DigiCert gibi) domain varyasyonlarını önceden belirtin ve otomatik yenileme kurun.
En sık neden, sertifika siparişi sırasında domain bilgilerinin yanlış girilmesidir. Wildcard sertifikalar (*.example.com) www.example.com’u kapsar ama naked domain (example.com) için ek SAN gerektirir. Sunucu yönlendirmeleri (redirects) de sorunu tetikler; HTTP’den HTTPS’ye 301 yönlendirme mismatch’i gizlemez. Başka bir neden, CDN entegrasyonlarıdır; Cloudflare gibi servisler proxy sertifikası kullanırken origin sunucuda uyumsuzluk olur.
Teşhis için SSL Labs’ın online aracını (ücretsiz) kullanın; raporunda “Chain issues” bölümünde mismatch detaylarını göreceksiniz. Kurumsal ortamda, iç ağda self-signed sertifikalar bu hatayı çoğaltır – production’a geçmeden production domain’ini kullanın.
Wildcard (*.domain.com) alt domain’leri kapsar ama ana domain’i kapsamaz. Çözüm: Multi-domain (SAN) sertifikası alın. Örnek: example.com ve *.example.com için iki giriş ekleyin. Let’s Encrypt ile certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.com komutuyla oluşturun. Bu, DNS TXT kaydı doğrulaması gerektirir ve 90 gün geçerlidir; cron job ile yenileyin.
Nginx’te server block’larda ssl_certificate yolunu doğru belirtin: ssl_certificate /path/fullchain.pem; ssl_certificate_key /path/privkey.pem;. Apache’te VirtualHost içinde SSLEngine on ve SSLCertificateFile direktifleri eşleşmeli. CDN’de, origin pull modunda tam sertifika zinciri yükleyin. Test: curl -v https://site.com ile handshake’i inceleyin.
İlk adım, mevcut sertifikayı kontrol edin. Sunucuda openssl s_client -connect site.com:443 -servername site.com çalıştırın; Verify return code: 0 (ok) olmalı. Mismatch varsa, yeni CSR oluşturun: openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr. Domain’i CN’ye tam yazın.
Pratik örnek: WordPress multisite’te, her subdomain için ayrı sertifika yükleyin veya wildcard kullanın. .htaccess’te Force SSL rewrite ekleyin: RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]. Bu adımlar uygulandığında, hata %100 çözülür.
/etc/ssl/ dizinine dosyaları kopyalayın. Nginx için conf dosyasını düzenleyin ve reload edin: systemctl reload nginx. Apache için a2enmod ssl ve systemctl restart apache2. Doğrulama: https://www.ssllabs.com/ssltest/ ile A+ skoru hedefleyin. Hata devam ederse, intermediate CA zincirini ekleyin – çoğu sağlayıcı bundle verir.
HSTS header’ını etkinleştirin: add_header Strict-Transport-Security “max-age=31536000; includeSubDomains” always;. OCSP stapling açın performans için. Kurumsal için, sertifika yönetim araçları (Certbot, acme.sh) kullanın; script’lerle haftalık backup alın. Bu detaylar, mismatch’i kalıcı önler ve site güvenliğini maksimize eder.
SSL sertifikası domain mismatch hatasını yönetmek, proaktif bir yaklaşımla mümkündür. Düzenli kontroller, doğru konfigürasyon ve güncellemelerle sitenizi güvende tutun. Bu rehberi uygulayarak, kullanıcı güvenini artırın ve operasyonel verimliliği yükseltin. Unutmayın, HTTPS modern web’in temel taşıdır – yatırımı ertelemeyin.