Let's Encrypt süre dolumu uyarısı e-postalarını 4 Haziran 2025'te tamamen durdurdu. Artık sertifikanızın yenilenmediğini size haber veren bir e-posta gelmiyor; otomatik yenileme bozulursa bunu ancak ziyaretçileriniz "Bağlantınız gizli değil" uyarısını gördüğünde öğrenebilirsiniz. Bu yüzden yenilemeyi düzenli test etmeniz ve bitiş tarihini bağımsız bir yerden izlemeniz gerekiyor.
Let's Encrypt süre dolumu uyarısı neden kalktı?
Let's Encrypt, ücretsiz SSL sertifikası veren, kâr amacı gütmeyen bir sertifika otoritesidir. Yıllarca, sertifikası dolmak üzere olan ve yenilenmemiş kullanıcılara hatırlatma e-postası (İngilizce aramalarda "Let's Encrypt expiration email" diye geçer) gönderdi. Birçok site sahibi için bu e-posta, otomatik yenilemenin bozulduğunu fark etmenin tek yoluydu.
Kurum bu hizmeti 4 Haziran 2025'te sonlandırdı. Açıklamasında, kullanıcıların büyük kısmının artık yenilemeyi otomatik yaptığını, e-posta adreslerini saklamanın gizlilik açısından yük getirdiğini ve hizmetin maliyetini gerekçe olarak gösterdi. Sonuç şu: hesabınızda kayıtlı bir e-posta adresi olsa bile artık süre dolumu hatırlatması gelmez.
90 günlük sertifikalar ve otomatik yenileme
Let's Encrypt sertifikaları 90 gün geçerlidir. Bu kısa süre bilinçli bir tercihtir: sertifikayı elle değil, bir yazılımla otomatik yenilemeniz beklenir. En yaygın araç certbot'tur; hosting panellerindeki "ücretsiz SSL" özellikleri de çoğunlukla arka planda Let's Encrypt kullanır.
certbot genellikle günde iki kez çalışan bir zamanlanmış görevle (cron veya systemd zamanlayıcısı) kontrol yapar ve varsayılan ayarlarda sertifikanın bitmesine yaklaşık 30 gün kala yenilemeyi dener. Her şey yolundaysa siz hiçbir şey fark etmezsiniz. Sorun, bir şey bozulduğunda da hiçbir şey fark etmemenizdir.
Sertifika sürelerinin genel olarak daha da kısalacağını da hesaba katın; ayrıntılar SSL sertifika süreleri kısalıyor yazımızda.
Let's Encrypt yenileme neden bozulur?
Otomatik yenilemenin sessizce başarısız olduğu en yaygın durumlar şunlardır:
Zamanlanmış görev çalışmıyor
certbot'u yenilemeyi tetikleyen görev silinmiş, devre dışı kalmış ya da hiç kurulmamış olabilir. Özellikle sunucu yeniden kurulduğunda veya işletim sistemi yükseltildiğinde bu sık görülür. Zamanlayıcının durumunu şöyle görebilirsiniz:
systemctl list-timers | grep -i certbot
Çıktı boşsa ayrıca /etc/cron.d/ klasörüne ve sudo crontab -l çıktısına bakın. Kurulum yöntemine göre (paket yöneticisi, snap) görevin adı ve yeri değişebilir.
DNS değişikliği
Let's Encrypt yenileme sırasında alan adının size ait olduğunu yeniden doğrular. En yaygın yöntem (HTTP-01), alan adına HTTP üzerinden bağlanıp sunucunuza konmuş geçici bir dosyayı okumaktır. Alan adının A kaydını başka bir sunucuya ya da CDN'e yönlendirdiyseniz doğrulama isteği eski sunucunuza ulaşmaz ve yenileme başarısız olur.
80 portu kapalı
HTTP-01 doğrulaması 80 portunu kullanır. "Nasılsa her şey HTTPS" diyerek güvenlik duvarında 80 portunu kapattıysanız yenileme çalışmaz. HTTP'den HTTPS'e yönlendirme yapmak sorun değildir; portun kapalı olması sorundur.
Sunucu taşıma
Siteyi yeni bir sunucuya taşırken sertifika dosyaları kopyalanır ama /etc/letsencrypt altındaki yenileme ayarları, zamanlanmış görev veya certbot'un kendisi taşınmayabilir. Site bir süre eski sertifikayla sorunsuz çalışır, sonra aniden hata vermeye başlar.
Yenilendi ama sunulmuyor
Bazen yenileme başarılıdır ama web sunucusu (nginx, Apache) yeniden yüklenmediği için ziyaretçiye hâlâ eski sertifika gösterilir. Bunu önlemek için yenileme sonrasında sunucuyu yeniden yükleyen bir "deploy hook" tanımlayabilirsiniz:
sudo certbot renew --deploy-hook "systemctl reload nginx"
Daha kalıcı bir yol, /etc/letsencrypt/renewal-hooks/deploy/ klasörüne sunucuyu yeniden yükleyen çalıştırılabilir bir betik koymaktır; certbot bu klasördeki betikleri her başarılı yenilemeden sonra çalıştırır.
Diğer nedenler
DNS ile doğrulama (DNS-01) kullanıyorsanız DNS sağlayıcınızın API anahtarının süresi dolmuş olabilir. Alan adınızda Let's Encrypt'e izin vermeyen bir CAA kaydı (hangi sertifika otoritelerinin sertifika verebileceğini belirleyen DNS kaydı) eklenmiş olabilir. Web sunucusu ayarı değiştiği için doğrulama dosyasının konduğu klasör yanlış olabilir.
Yenilemeyi test edin: certbot renew --dry-run
Sunucunuza erişiminiz varsa ilk iş, yenilemenin gerçekten çalışıp çalışmadığını sınamaktır. Aşağıdaki komut Let's Encrypt'in test ortamını kullanarak tüm yenileme sürecini baştan sona dener; gerçek sertifikalarınıza dokunmaz:
sudo certbot renew --dry-run
Sonunda "Congratulations, all simulated renewals succeeded" benzeri bir mesaj görürseniz yenileme süreci çalışıyor demektir. Hata alırsanız mesajı ve /var/log/letsencrypt/letsencrypt.log dosyasını inceleyin; sorun çoğunlukla yukarıdaki nedenlerden biridir.
Mevcut sertifikaları listeleyin: certbot certificates
Sunucudaki tüm Let's Encrypt sertifikalarını, kapsadıkları alan adlarını ve bitiş tarihlerini görmek için:
sudo certbot certificates
Çıktıda her sertifika için "Domains" ve "Expiry Date" satırları yer alır; tarihin yanında kaç gün kaldığı da yazar. Kalan süre 30 günün altına inmiş ve hâlâ yenilenmemiş bir sertifika varsa otomasyonda sorun var demektir.
Bu komut sunucudaki dosyaya bakar. Ziyaretçiye gerçekten hangi sertifikanın sunulduğunu görmek için dışarıdan kontrol etmeniz gerekir; yöntemleri SSL sertifikası bitiş tarihi kontrolü rehberinde anlattık.
Kontrol listesi
| Kontrol | Komut veya yöntem |
|---|---|
| Zamanlayıcı kurulu mu? | systemctl list-timers veya crontab |
| Yenileme çalışıyor mu? | sudo certbot renew --dry-run |
| Kalan süre ne kadar? | sudo certbot certificates |
| 80 portu açık mı? | Güvenlik duvarı kuralları |
| DNS doğru sunucuyu mu gösteriyor? | dig +short alanadi.com |
| Yenileme sonrası sunucu yeniden yükleniyor mu? | Deploy hook ayarı |
| Ziyaretçiye sunulan sertifika hangisi? | Dışarıdan openssl s_client |
Alternatif: bağımsız izleme
Sunucunuzda çalışan bir betikle kendinize e-posta göndermek bir çözüm gibi görünebilir, ama bir zayıflığı var: yenilemeyi bozan sorun (sunucu taşıma, silinen cron görevi) çoğu zaman bu betiği de durdurur. Sağlıklı yöntem, bitiş tarihini sunucunun dışından, ziyaretçinin gördüğü sertifikaya bakarak izlemektir.
Artık gelmeyen Let's Encrypt süre dolumu uyarısının yerini tutmak için Bulut Domain'i kullanabilirsiniz. Eklediğiniz alan adlarının SSL sertifikası bitiş tarihini ve vereni sunucunuza bir şey kurmadan düzenli okur; süre dolmadan kademeli olarak, dolduğu gün ve sonrasında e-posta ve site içi bildirimle uyarır. certbot varsayılan ayarlarda bitişe yaklaşık 30 gün kala yeniler. Bu yüzden ilk uyarı yenilemeyle aynı günlere denk gelebilir; ama bitiş yaklaştıkça hâlâ uyarı alıyorsanız yenileme bozulmuş demektir.
Sık sorulan sorular
Let's Encrypt hesabımdaki e-posta adresini güncellersem uyarı gelir mi?
Hayır. 4 Haziran 2025'ten bu yana Let's Encrypt süre dolumu e-postası göndermiyor; adres güncel olsa bile hatırlatma gelmez.
Hosting panelimde ücretsiz SSL var, yine de kontrol etmeli miyim?
Evet. Panelin otomatik SSL özelliği de DNS değişikliği veya alan adı yönlendirmesi gibi nedenlerle yenileme yapamayabilir. Bitiş tarihini ara ara kontrol etmek ya da izlemeye almak iyi olur.
certbot renew --dry-run başarılıysa her şey yolunda mı?
Büyük ölçüde evet, ama yenilenen sertifikanın web sunucusuna yüklendiğini ayrıca doğrulayın. Deploy hook tanımlı değilse sunucu eski sertifikayı sunmaya devam edebilir.
Sertifikanın süresi dolarsa ne olur?
Ziyaretçiler NET::ERR_CERT_DATE_INVALID gibi bir hata görür. Nedenleri ve çözümü için bağlantınız gizli değil hatası yazımıza bakabilirsiniz.
Artık gelmeyen hatırlatma e-postasının yerine SSL ve alan adı bitiş tarihlerinizi tek listede izlemek için ücretsiz hesap oluşturun.
Bunu her ay elle kontrol etmeyin
Bulut Domain domain ve SSL bitiş tarihlerini kendiliğinden okur, sitenizin açık olup olmadığını düzenli yoklar; süre dolmadan önce kademeli olarak ve site kapandığında haber verir. Kurulum ya da sunucu erişimi gerekmez.
Ücretsiz hesap oluştur Nasıl çalışır