SSL Süresi Doldu Hatası: Site ve E-posta Nasıl Kurtarılır
Sabah siteye giriyorsunuz ve tam ekran bir uyarı: “Bağlantınız gizli değil”, altında NET::ERR_CERT_DATE_INVALID. Firefox aynı durumu SEC_ERROR_EXPIRED_CERTIFICATE diye adlandırır. Anlamı tek bir şey: sunucunun sunduğu sertifikanın geçerlilik tarihi geçmiş.
Bunun can sıkıcı yanı, ziyaretçinin uyarıyı geçmek için iki tıklama yapmak zorunda kalması ve çoğunun bunu yapmadan çıkmasıdır. E-ticaret sitesinde bu doğrudan kayıp sipariş demektir. Üstelik sorun yalnızca siteyle sınırlı kalmaz.
Sertifikalar bilerek kısa ömürlüdür. Let’s Encrypt tarafında 90 gün standarttır ve sektör bu süreyi daha da kısaltma yolunda ilerliyor. Kısa ömür güvenlik açısından iyidir ama tek şartla: yenileme otomatik çalışacak. Aşağıda önce hasarı durduracak, sonra otomatiğin neden durduğunu bulacağız.
Yalnızca site değil, e-posta da etkilenir
Aynı sertifika çoğu paylaşımlı sunucuda posta servisleri için de kullanılır. Süresi dolduğunda kullanıcılarınız şu şikayetlerle gelir:
- Outlook’ta “Sunucunun güvenlik sertifikasının süresi doldu” penceresi; kullanıcı “Evet” demezse posta gelmez.
- iPhone’da “Sunucu kimliği doğrulanamıyor —
mx.nomail.com.tr” uyarısı. - Web sitesinin iletişim formundan giden postaların SMTP hatasıyla düşmesi.
- Ödeme sağlayıcısı veya kargo firmasının API isteklerinin sertifika hatasıyla reddedilmesi. Bunlar tarayıcı gibi “devam et” seçeneği sunmaz, doğrudan başarısız olur.
Yani süre dolduğunda tek bir uyarı ekranıyla değil, birbirinden bağımsız görünen birkaç arıza ile karşılaşırsınız. Posta istemcisi tarafındaki ayarları yeniden gözden geçirmeniz gerekirse Outlook e-posta kurulumu yazısındaki port ve şifreleme değerleri işinizi kolaylaştırır.
Önce doğrulayın: gerçekten süresi mi doldu?
Sertifikanın tarihlerini tek komutla görebilirsiniz:
openssl s_client -connect alanadi.com:443 -servername alanadi.com < /dev/null 2>/dev/null | openssl x509 -noout -dates
Çıktıdaki notAfter değeri bugünden önceyse sertifika gerçekten bitmiştir. Ama iki yanıltıcı durum vardır:
- Bilgisayarın saati yanlış. Tarih ileri kaymışsa geçerli sertifika bile süresi dolmuş görünür. Hata yalnızca tek bir cihazda çıkıyorsa önce Windows’ta Ayarlar > Saat ve Dil > Saati otomatik ayarla seçeneğini açıp saati eşitleyin. Sunucu tarafında da
timedatectlçıktısındaki NTP eşitlemesinin etkin olduğunu kontrol edin. - Ara sertifika eksik. Bazı yapılandırmalarda site sertifikası günceldir ama zincirdeki ara sertifika eskidir; tarayıcı yine tarih hatası verebilir.
openssl s_clientçıktısındaki zincirin tamamına bakın.
Otomatik yenileme neden çalışmadı
Asıl soru budur, çünkü elle yenilemek 90 gün sonra aynı sorunu geri getirir. cPanel’de AutoSSL ya da sunucuda certbot, doğrulama (DCV) adımında takılır. En sık altı neden:
| Neden | Belirti | Çözüm |
|---|---|---|
.well-known erişimi engelli |
Doğrulama 403 veya 404 döner | .htaccess’teki blok kuralını gevşetin |
| Yönlendirme zinciri | Doğrulama isteği başka alan adına gidiyor | .well-known dizinini yönlendirmeden muaf tutun |
| DNS başka sunucuya bakıyor | Site burada, A kaydı başka yerde | A kaydını hosting IP’sine çevirin |
| CAA kaydı engelliyor | Log’da “CAA record prevents issuance” | Doğru CA’yı CAA’ya ekleyin |
| Alan adının süresi dolmuş | WHOIS’te durum pasif | Alan adını yenileyin |
| Hotlink veya güvenlik eklentisi | Doğrulama dosyası boş dönüyor | Kuralı geçici kapatıp yeniden deneyin |
Doğrulama dosyasına dışarıdan erişilip erişilmediğini elle test edin. Sunucuda public_html/.well-known/pki-validation/test.txt adında içinde merhaba yazan bir dosya oluşturun, sonra tarayıcıda http://alanadi.com/.well-known/pki-validation/test.txt adresini açın. İçeriği göremiyorsanız AutoSSL de göremiyor demektir; sorun buradadır.
CAA kaydı özellikle unutulan bir ayrıntıdır. DNS bölgenizde alanadi.com. IN CAA 0 issue "digicert.com" gibi bir kayıt varsa Let’s Encrypt sertifika üretemez. Kaydı kaldırın ya da kullandığınız sağlayıcıyı ekleyin: 0 issue "letsencrypt.org".
Yenilemeyi elle tetiklemek
Nedeni giderdikten sonra beklemeyin, yenilemeyi kendiniz başlatın:
- cPanel: Güvenlik > SSL/TLS Status ekranını açın, alan adlarını işaretleyip Run AutoSSL düğmesine basın. İşlem bittiğinde satırın yanında yeni bitiş tarihi görünür. Başarısızsa aynı ekrandaki View AutoSSL logs bağlantısından hatanın tam metnini okuyun; log genelde sorunu doğrudan yazar.
- Kendi sunucunuz:
certbot renew --dry-runile deneyin. Deneme geçersecertbot renew --force-renewalçalıştırın ve ardından web sunucusunu yeniden yükleyin. - Ücretli sertifika: sağlayıcıdan yeni CSR ile yeniden düzenletmeniz gerekir; kurulum adımları için cPanel’de SSL kurulumu yazısını izleyin.
Yeni sertifika kurulduktan sonra posta sunucusu servislerinin de yeni dosyayı okuduğundan emin olun; bazı yapılandırmalarda Dovecot ve Exim yeniden başlatılana kadar eski sertifikayı sunmaya devam eder.
Bir daha yaşamamak için takip kurun
Süre takibini insana bırakmayın. Üç pratik yöntem:
- Ücretsiz izleme servislerinde (UptimeRobot ve benzerleri) “SSL expiry” kontrolü açın; genelde 30, 14 ve 7 gün kala e-posta atar.
- Sunucunuz varsa haftalık bir cron:
echo | openssl s_client -connect alanadi.com:443 2>/dev/null | openssl x509 -noout -checkend 1209600komutu iki hafta içinde bitecekse hata koduyla döner, siz de bunu bir uyarı postasına bağlarsınız. - cPanel’de AutoSSL’in başarısızlık bildirimlerini açın ve giden adresin gerçekten okuduğunuz bir kutuya düştüğünü doğrulayın. Çoğu vakada uyarı zaten gitmiştir, kimse okumamıştır.
Ayrıca alan adı ile sertifikayı aynı takvimde tutun. Alan adının süresi dolduğunda DNS çözümlenmez, doğrulama başarısız olur ve sertifika da yenilenmez; iki arıza üst üste gelir. Alan adı yenileme tarihlerini alan adı paneli üzerinden otomatik yenilemeye almak bu zinciri baştan keser.
Özetle
NET::ERR_CERT_DATE_INVALIDsertifikanın bittiğini söyler; önce cihaz ve sunucu saatini eleyin.- Süre dolduğunda site kadar e-posta, form ve API entegrasyonları da bozulur.
- Elle yenilemeden önce otomatiğin neden durduğunu bulun:
.well-knownerişimi, yönlendirme, DNS yönü, CAA kaydı ve alan adı durumu. - cPanel’de SSL/TLS Status > Run AutoSSL, kendi sunucunuzda
certbot renewile yenileyin; posta servislerini yeniden başlatın. - 30-14-7 gün kala uyarı veren bir izleme kurun ve alan adı yenilemesini de otomatiğe bağlayın.