SSL Sertifikası Süresi Dolmuş (ERR_CERT_DATE_INVALID) Nasıl Çözülür?
SSL sertifikasının süresi dolduğunda tarayıcı ERR_CERT_DATE_INVALID hatası gösterir. Certbot veya AutoSSL ile yenileyin.
SSL Sertifikası Süresi Dolmuş Hatası Nedir?
ERR_CERT_DATE_INVALID hatası, bir web sitesine erişmeye çalışırken tarayıcının, sunucunun sunduğu SSL/TLS sertifikasının geçerlilik süresinin dolmuş olduğunu tespit ettiğinde gösterdiği güvenlik uyarısıdır. Modern tarayıcılar (Chrome, Firefox, Edge) bu durumda siteyi tamamen engeller ve kullanıcıya büyük kırmızı uyarı sayfası gösterir.
SSL sertifikaları belirli bir geçerlilik süresiyle verilir. Let's Encrypt sertifikaları 90 gün, ticari sertifikalar (DigiCert, Comodo vb.) ise 1-2 yıl geçerlidir. Süre dolduğunda sertifika yenilenmezse tüm site trafiği bu hatayla karşılaşır ve site güvensiz olarak işaretlenir; bu durum hem kullanıcı kaybına hem de SEO cezasına yol açar.
Tarayıcıda görünen hata mesajları:
ERR_CERT_DATE_INVALID
# veya
Bağlantınız gizli değil
# veya
SEC_ERROR_EXPIRED_CERTIFICATE (Firefox)
Komut satırından sertifika son kullanma tarihini kontrol etmek için:
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates
Olası Nedenler
- Let's Encrypt sertifikasının otomatik yenileme (cron/timer) çalışmıyor
- Certbot cron job'u başarısız oluyor ama bildirim yapılmıyor
- cPanel AutoSSL özelliği devre dışı veya domain doğrulama başarısız
- Plesk Let's Encrypt eklentisi yenileme görevini tamamlayamıyor
- Ticari sertifika süresi dolmuş ve manuel yenileme yapılmamış
- Cloudflare'in SSL ayarları yanlış (Full mod yerine Off seçilmiş)
- Sunucu saati/tarihi yanlış (sertifika geçerli görünmüyor)
- Domain doğrulama için port 80 kapalı (HTTP-01 challenge başarısız)
Çözüm Adımları
1. Certbot ile Let's Encrypt Sertifikasını Yenileme (Ubuntu/Debian)
Önce sertifika durumunu kontrol edin:
sudo certbot certificates
Manuel yenileme yapmak için:
sudo certbot renew --force-renewal
Belirli bir domain için:
sudo certbot certonly --nginx -d example.com -d www.example.com
# veya Apache için:
sudo certbot certonly --apache -d example.com -d www.example.com
Otomatik yenilemenin çalışıp çalışmadığını kontrol edin:
# Systemd timer kontrolü:
systemctl status certbot.timer
# veya cron kontrolü:
crontab -l | grep certbot
# Test edin:
sudo certbot renew --dry-run
2. cPanel AutoSSL ile Sertifika Yenileme
cPanel'de SSL yenileme için:
- cPanel → SSL/TLS Status bölümüne gidin
- Süresi dolan domain'lerin yanındaki sarı/kırmızı ikonları göreceksiniz
- Run AutoSSL butonuna tıklayın
- WHM erişiminiz varsa: WHM → SSL/TLS → Manage AutoSSL → Run AutoSSL for All Users
Komut satırından (root olarak):
/usr/local/cpanel/bin/autossl_check --all
3. Plesk'te Let's Encrypt Sertifikasını Yenileme
Plesk'te sertifika yenileme için:
- Plesk → Websites & Domains → İlgili domain
- SSL/TLS Certificates bölümüne tıklayın
- Let's Encrypt sertifikasının yanındaki Renew butonuna tıklayın
Komut satırından (Plesk CLI):
plesk bin extension --exec letsencrypt cli.php -d example.com
4. Certbot'u Sıfırdan Yükleme ve Yapılandırma
Certbot kurulu değilse veya bozuksa yeniden kurun:
# Ubuntu/Debian:
sudo apt update
sudo apt install certbot python3-certbot-nginx
# veya Python3-certbot-apache
# Nginx için sertifika al:
sudo certbot --nginx -d example.com -d www.example.com
# Otomatik yenileme için cron ekle:
echo "0 3 * * * /usr/bin/certbot renew --quiet" | sudo crontab -
5. Sunucu Saatini Düzeltme
Sunucu saati yanlışsa sertifika geçersiz görünebilir:
timedatectl status
# NTP senkronizasyonunu etkinleştir:
sudo timedatectl set-ntp true
sudo systemctl restart systemd-timesyncd
6. Port 80 Erişimini Kontrol Etme
Let's Encrypt HTTP-01 challenge için port 80'in açık olması gerekir:
# Firewall kurallarını kontrol edin:
sudo ufw status
sudo iptables -L -n | grep 80
# Port 80'i açın (UFW):
sudo ufw allow 80/tcp
Özet ve Önleyici Tedbirler
- Let's Encrypt sertifikaları için otomatik yenilemeyi mutlaka etkinleştirin ve test edin
- Sertifika süresini izlemek için SSL monitoring araçları kullanın (UptimeRobot, Zabbix)
- Certbot dry-run testini aylık çalıştırarak yenilemenin çalıştığını doğrulayın
- Sertifika süresi dolmadan 30 gün önce e-posta bildirimi alın (Let's Encrypt varsayılan gönderir)
- Ticari sertifikalar için yenileme tarihini takvime ekleyin
İlgili Makaleler
- Let's Encrypt SSL Sertifikası Kurulumu ve Yenileme Rehberi
- SSL Sertifikası Nasıl Kurulur? Let's Encrypt ve cPanel Rehberi
- DirectAdmin’de Let’s Encrypt SSL ve Otomatik Yenileme
- Let's Encrypt Wildcard SSL Nasıl Kurulur? Certbot ile DNS Challenge Rehberi
- Cloudflare 525 SSL Handshake Failed Hatası Nasıl Çözülür?
Yorumlar
Henüz yorum yok. İlk yorumu siz yapın!