Tarayıcıdaki SSL hatalarını giderme

Tarayıcıda SSL hatasını gidermek için pratik rehber: sertifika zincirini kontrol etme, alan adı uyumsuzluğu, süresi dolmuş sertifika ve kesin komutlarla yaygın hatalar.

6 dk Güncellendi 13 Oct 2026

Tarayıcıda SSL hatası neden görünür?

Bir kullanıcı tarayıcıda SSL hatasıyla karşılaştığında, genellikle ilk tepki "sorun tarayıcıdan kaynaklanıyor" veya "sertifika bozuk" olur. Ancak çoğu durumda sorunun kökeni başka yerdedir: eksik sertifika zinciri, alan adı uyumsuzluğu veya süresi dolmuş sertifika. Bu makalede, her üç durumu da teknik ayrıntılarıyla inceleyeceğiz ve her biri için pratik çözümler sunacağız. Site yöneticisiyseniz veya bulut altyapısı üzerinde çalışıyorsanız, bu rehber SSL hatasını en kısa sürede tespit edip gidermenize yardımcı olacaktır.

1. Eksik Sertifika Zinciri (Incomplete Certificate Chain)

Sertifika zinciri, sunucu sertifikasından kök sertifikaya (Root CA) ulaşan yoldur. Bu zincir eksikse, tarayıcı sertifikanın geçerliliğini doğrulayamaz ve SSL hatası gösterir. Bu sorun genellikle ara sertifikalar (Intermediate Certificates) sunucuya yüklenmediğinde ortaya çıkar.

Zinciri nasıl kontrol ederiz?

Aşağıdaki komutla sertifika zincirini sunucu açısından kontrol edebilirsiniz:

openssl s_client -connect example.com:443 -showcerts

Bu komutun çıktısı, sunucunun gönderdiği tüm sertifikaları içerir. Çıktıda yalnızca bir sertifika (sunucu sertifikası) görüyorsanız ve ara sertifikalar yoksa, zincir eksiktir. Çıktıda Certificate chain bölümlerine dikkat edin. Yalnızca bir BEGIN CERTIFICATE bloğu görüyorsanız, sorun doğrulanmıştır.

Çözüm: Ara sertifikaları yükleme

Çoğu sertifika yetkilisi (CA), ana sertifikayla birlikte ara sertifika dosyalarını da indirir. Nginx web sunucusu için, ara sertifikayı ana sertifika dosyasına eklemeniz gerekir:

cat example.com.crt intermediate.crt > fullchain.crt

Ardından Nginx ayarlarında ssl_certificate yolunu fullchain.crt dosyasına değiştirin ve servisi yeniden başlatın:

sudo systemctl restart nginx

Apache için de SSLCertificateChainFile dosyasını ara sertifikaya yönlendirin. Değişiklikten sonra, zincirde en az iki veya üç sertifikanın gönderildiğini openssl s_client komutuyla tekrar kontrol ettiğinizden emin olun.

Yaygın hata: Bazıları ara sertifikaları sertifika dosyasına eklemek yerine yanlış yola koyar veya dosyayı yanlış formatta (örneğin PEM yerine DER) kaydeder. Dosyaların her zaman PEM formatında (başlığı BEGIN CERTIFICATE olan düz metin) olduğundan emin olun.

2. Alan Adı Uyumsuzluğu (Hostname Mismatch)

SSL hatasının bir diğer yaygın nedeni, kullanıcının tarayıcıya girdiği alan adı ile sertifikada kayıtlı alan adı arasındaki uyumsuzluktur. Bu hata genellikle "güvenlik adı geçersiz" veya "sertifika bu site için düzenlenmemiş" mesajıyla gösterilir.

Uyumsuzluk türleri

  • Ana alan adı ve alt alan adı: Sertifika example.com için düzenlenmiş ancak kullanıcı www.example.com adresine gidiyor.
  • Benzer alan adları: Sertifika example.com için ancak kullanıcı example.org adresine gidiyor.
  • Doğrudan IP adresi: Kullanıcı siteye IP adresiyle erişiyor, ancak sertifika yalnızca alan adı için düzenlenmiş.

openssl komutuyla kontrol

Sertifikanın hangi alan adları için düzenlendiğini kontrol etmek için aşağıdaki komutu kullanın:

openssl x509 -in certificate.crt -noout -text | grep -A 1 "Subject Alternative Name"

Çıktı, geçerli alan adlarının listesini içerir. İlgili alan adı bu listede yoksa, sorun sertifikadan kaynaklanıyor demektir.

Çözümler

  1. Doğru alan adıyla yeni sertifika: Sertifika yanlış alan adı için düzenlenmişse, doğru alan adıyla yeni bir sertifika almanız gerekir.
  2. Yönlendirme ayarı: Sertifika example.com için ancak kullanıcılar www.example.com adresine gidiyorsa, www adresinden ana alan adına 301 yönlendirmesi ayarlayın:
server {
    listen 443 ssl;
    server_name www.example.com;
    return 301 https://example.com$request_uri;
}

Bu, kullanıcıların her zaman sertifikanın geçerli olduğu alan adına yönlendirilmesini sağlar.

Yaygın hata: Bazı site yöneticileri sertifikayı www olmadan düzenler ancak yönlendirme ayarlamayı unutur. Sonuç: www ile giren kullanıcılar SSL hatası görür. Sertifikayı yükledikten sonra her iki durumu da (www'li ve www'siz) test edin.

3. Süresi Dolmuş Sertifika (Expired Certificate)

SSL sertifikalarının son kullanma tarihi vardır ve genellikle 1 ila 2 yıl arasında geçerlidir. Sertifikanın süresi dolduğunda, tarayıcı "güvenlik sertifikasının süresi doldu" hatasını gösterir. Bu sorun en basit durumdur ancak zamanında tespit edilmezse kullanıcı güveninin kaybolmasına neden olabilir.

Son kullanma tarihini kontrol etme

Aşağıdaki komutla sertifikanın son kullanma tarihini uzaktan kontrol edebilirsiniz:

echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates

Çıktı iki tarih içerir: notBefore (geçerlilik başlangıç tarihi) ve notAfter (son kullanma tarihi). Geçerli tarih notAfter tarihinden sonraysa, sertifikanın süresi dolmuştur.

Çözüm: Otomatik yenileme

Bu sorunu önlemenin en iyi yolu otomatik yenileme kullanmaktır. Let's Encrypt kullanıyorsanız, aşağıdaki cronjob ile otomatik yenilemeyi ayarlayabilirsiniz:

0 3 * * * certbot renew --quiet --deploy-hook "systemctl reload nginx"

Bu komut her gün saat 3'te sertifikanın süresinin dolmak üzere olup olmadığını (30 günden az kaldıysa) kontrol eder ve gerekirse yeniler. Ticari CA'lardan satın alınan sertifikalar için genellikle e-posta hatırlatıcısı ayarlayabilir veya otomatik yenileme için sertifika yetkilisinin API'sini kullanabilirsiniz.

Yaygın hata: Bazı site yöneticileri sertifikayı yeniler ancak yeni sertifika dosyasını sunucuya yüklemeyi unutur. Yenilemeden sonra yeni dosyaları indirip sunucuya yüklediğinizden ve web servisini yeniden başlattığınızdan emin olun.

4. Bilmeniz Gereken Diğer SSL Hataları

Üç ana sorunun yanı sıra, karşılaşabileceğiniz başka hatalar da vardır:

Kendi Kendine İmzalı Sertifika (Self-Signed Certificate)

Sertifika geçerli bir CA tarafından düzenlenmemişse (örneğin test ortamı için), tarayıcı "bağlantı güvenli değil" hatası gösterir. Üretim ortamı için asla kendi kendine imzalı sertifika kullanmayın. Test için kendi kendine imzalı sertifika oluşturabilirsiniz ancak tarayıcıda istisna olarak eklemeniz gerekir.

Eski TLS protokolleri

Sunucunuz yalnızca TLS 1.0 veya TLS 1.1 destekliyorsa, modern tarayıcılar hata gösterir. Desteklenen TLS sürümlerini kontrol etmek için:

openssl s_client -connect example.com:443 -tls1_2

Bu komut hata veriyorsa, TLS 1.2 desteklenmiyor demektir. Nginx'te izin verilen protokolleri ayarlayabilirsiniz:

ssl_protocols TLSv1.2 TLSv1.3;

Sistem tarihi uyumsuzluğu

Kullanıcının (veya sunucunun) sistem tarihi ve saati yanlışsa, tarayıcı SSL hatası gösterebilir. Bu sorun daha az yaygındır ancak her şey doğru görünüyorsa sistem tarihini kontrol edin.

5. SSL Hatası Giderme İçin Yardımcı Araçlar

Sorunları daha hızlı teşhis etmek için aşağıdaki araçları kullanın:

  • SSL Labs (ssllabs.com): Sertifika ve sunucu yapılandırmasının tam analizini sunar.
  • Why No Padlock (whynopadlock.com): SSL hatasına neden olan mixed content'i bulmak için.
  • Ayrıntılı seçeneklerle curl: Hataları komut satırından kontrol etmek için:
curl -vI https://example.com 2>&1 | grep "SSL"

Bu komut handshake sürecinin tüm ayrıntılarını gösterir ve ara sertifika alamama gibi belirli hataları belirleyebilir.

6. Özet ve Önleme

Tarayıcıdaki SSL hatası genellikle üç ana kaynaktan kaynaklanır: eksik zincir, alan adı uyumsuzluğu ve süresi dolmuş sertifika. Bu üç durumu düzenli olarak kontrol ederek hataların oluşmasını önleyebilirsiniz. Aylık bir kontrol listesi oluşturmanızı öneririz:

  1. Sertifikanın son kullanma tarihini openssl ile kontrol edin
  2. Sertifika zincirini openssl s_client -showcerts ile kontrol edin
  3. www'li ve www'siz erişimi test edin
  4. Desteklenen TLS sürümlerini kontrol edin

Bulut altyapısı kullanıyorsanız, ServerNet kullanıcı panelinde SSL sertifikalarının yönetimini sağlar ve bu da kurulum ve yenileme sürecini kolaylaştırabilir. Ancak her durumda, bu komutlara ve kavramlara aşina olmak, sorunu her koşulda hızlıca çözmenize yardımcı olur.

Son olarak, SSL hatasının yalnızca bir hata mesajı olmadığını unutmayın; zamanında giderilmezse kullanıcı güvenini yok edebilecek ve hatta sitenizin SEO'sunu olumsuz etkileyebilecek teknik bir sorunun işaretidir. Düzenli kontroller ve tanıtılan araçları kullanarak, sitenizin her zaman güvenli bir bağlantıyla erişilebilir olduğundan emin olabilirsiniz.

Bu sayfa yardımcı oldu mu?