Linux Sunucuda Let's Encrypt SSL Yenileme Hatası Nasıl Çözülür?
Certbot renew hataları, domain doğrulama problemleri ve süresi dolan SSL sertifikaları için rehber.
Web sitelerinde SSL sertifikası süresi dolduğunda ziyaretçiler tarayıcıda güvenli değil uyarısı görür. Bu durum sadece kullanıcı güvenini düşürmez; WHMCS, ödeme sistemleri, API bağlantıları, oyun panelleri ve müşteri girişleri için de ciddi sorun oluşturur.
Let's Encrypt sertifikaları ücretsizdir fakat belirli aralıklarla yenilenmesi gerekir. Certbot doğru yapılandırılmadıysa yenileme başarısız olur ve SSL süresi dolabilir.
1. Mevcut Sertifikaları Kontrol Etme
Önce sunucuda hangi sertifikaların bulunduğunu kontrol edin:
certbot certificates
Bu komut sertifika adını, domainleri, dosya yollarını ve son kullanma tarihini gösterir.
Eğer certbot komutu yoksa kurulu olmayabilir:
certbot --version
2. Yenileme Testi Yapma
Sertifikayı gerçekten yenilemeden önce test etmek için:
certbot renew --dry-run
Bu komut yenileme sürecini test eder. Eğer hata varsa gerçek yenileme günü gelmeden problemi görmenizi sağlar.
3. En Yaygın Certbot Hataları
Let's Encrypt yenileme hatalarının büyük kısmı domain doğrulama ve web sunucusu erişimiyle ilgilidir.
- Invalid response: Let's Encrypt doğrulama dosyasına ulaşamıyor.
- Connection refused: 80 veya 443 portu kapalı olabilir.
- Timeout during connect: Domain sunucuya yönlenmiyor veya firewall engelliyor olabilir.
- Unauthorized: Domain doğrulama dosyası yanlış içerik döndürüyor olabilir.
- Too many certificates: Çok sık sertifika denemesi yapılmış olabilir.
4. Domain IP Yönlendirmesini Kontrol Etme
Sertifika yenilemenin çalışması için domain doğru sunucu IP adresine yönlenmelidir.
dig domainadi.com +short
Eğer dig kurulu değilse:
apt install dnsutils -y
CentOS tabanlı sistemlerde:
yum install bind-utils -y
Domainin döndürdüğü IP, SSL kurulacak sunucunun IP adresiyle aynı olmalıdır.
5. 80 ve 443 Portlarını Kontrol Etme
Let's Encrypt HTTP doğrulaması için çoğu zaman 80 portuna erişmek ister. 80 portu kapalıysa doğrulama başarısız olabilir.
ss -tulpn | grep -E ':80|:443'
Firewall kullanıyorsanız 80 ve 443 portlarının açık olduğundan emin olun.
UFW için:
ufw allow 80/tcp ufw allow 443/tcp ufw reload
Firewalld için:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
6. Nginx veya Apache Config Testi
Web sunucusu config dosyasında hata varsa certbot yenileme sonrasında web servisi reload edilemeyebilir.
Nginx için:
nginx -t
Apache için:
apachectl configtest
Hata yoksa servisleri yeniden yükleyebilirsiniz:
systemctl reload nginx
veya:
systemctl reload apache2
7. SSL Sertifikasını Manuel Yenileme
Tüm kontroller doğruysa yenilemeyi manuel çalıştırabilirsiniz:
certbot renew
Sadece belirli bir domain için yeniden sertifika almak gerekiyorsa Nginx örneği:
certbot --nginx -d domainadi.com -d www.domainadi.com
Apache örneği:
certbot --apache -d domainadi.com -d www.domainadi.com
8. Otomatik Yenileme Zamanlayıcısını Kontrol Etme
Certbot genellikle systemd timer veya cron ile otomatik yenileme yapar.
systemctl list-timers | grep certbot
Timer durumunu kontrol etmek için:
systemctl status certbot.timer
Eğer timer kapalıysa:
systemctl enable certbot.timer systemctl start certbot.timer
Sık Yapılan Hatalar
- Domain IP adresi yanlışken SSL almaya çalışmak
- 80 portunu kapatıp HTTP doğrulamasının çalışmasını beklemek
- Cloudflare proxy açıkken doğrulama yapısını kontrol etmemek
- Nginx/Apache config hatasını certbot hatası sanmak
- SSL süresi dolana kadar otomatik yenilemeyi test etmemek
FAQ
SSL süresi dolduysa site tamamen kapanır mı?
Site teknik olarak çalışabilir ancak tarayıcı güvenlik uyarısı gösterir. Bu durum müşteri güvenini ciddi şekilde düşürür.
Certbot renew neden başarısız olur?
Genellikle domain yanlış IP'ye yönlenmiştir, 80/443 portu kapalıdır, web server config hatalıdır veya doğrulama dosyasına erişilemiyordur.
Cloudflare kullanırken SSL yenileme sorun olur mu?
Yanlış SSL modu veya proxy yapılandırması doğrulama sürecini etkileyebilir. Domain doğrulama yöntemi buna göre seçilmelidir.
Güvenlik ve Operasyon Önerileri
- SSL bitiş tarihlerini düzenli kontrol edin.
- certbot renew --dry-run testini periyodik çalıştırın.
- 80 ve 443 portlarını gereksiz yere kapatmayın.
- Web server config değişikliklerinden sonra nginx -t veya apachectl configtest yapın.
- Ödeme ve müşteri paneli kullanılan domainlerde SSL takibini ihmal etmeyin.
Bu makale PvPSunucusu için özel olarak hazırlanmıştır.