Otomatik yenileme, sertifika süresinin unutulup sitenin "Güvenli Değil" uyarısı vermesini önler. Kurulum bir kez yapılır, sonra sistem kendi kendine yeniler; ancak "kurdum, unuttum" yaklaşımı tehlikelidir, çünkü sessiz bir hata bitişe kadar fark edilmeyebilir.
Certbot ile örnek
Linux sunucuda Certbot genellikle bir systemd timer veya cron görevi ekler. Kurulumu kontrol edin:
sudo certbot certonly --webroot -w /var/www/html -d example.com -d www.example.com
systemctl list-timers | grep certbot
sudo certbot renew --dry-run
--dry-run gerçek sertifika almadan tüm adımları test eder; bu komutu kurulumdan sonra mutlaka çalıştırın.
Web sunucusunu yeniden yükleme
Yenilenen sertifikanın kullanılması için web sunucusunun yapılandırmayı yeniden okuması gerekir:
sudo certbot renew --deploy-hook "systemctl reload nginx"
Ticari sertifikalarda
- Bazı ticari CA'lar ACME ile otomatik yenilemeyi destekler; hesap bilgisi (EAB) gerekebilir.
- ACME kullanmayan sertifikalarda yıllık/kısa süreli yenilemeyi hatırlatma ve kurulum betikleriyle yarı otomatikleştirebilirsiniz.
- Kısa ömürlü sertifika ücretsiz tek yolunuz değil; ihtiyacınıza göre SSL sertifikaları sayfasındaki seçenekleri değerlendirin.
Sık hatalar
- Port 80'in güvenlik duvarında kapalı olması nedeniyle HTTP doğrulamasının başarısız olması.
- Yönlendirme kuralının
/.well-known/acme-challenge/yolunu engellemesi. - Wildcard için DNS doğrulaması gerekmesine rağmen HTTP yönteminin seçilmesi.
- Yenileme sonrası web sunucusunun yeniden yüklenmemesi.
İzleme
Otomasyon çalışıyor olsa bile dışarıdan kontrol edin. SSL kontrol aracıyla son kullanım tarihini düzenli izleyin ve bitişe 14 gün kala uyarı alacak şekilde alarm kurun.
Otomasyon süreci kolaylaştırır, doğrulama ise güveni sağlar.
Bir güvenlik ağı ekleyin
Otomasyon başarısız olursa kimsenin haberi olmayabilir. Certbot'un kayıtlı e-posta adresini ekibe ait bir adrese bağlayın, yenileme görevinin son çalışma zamanını kontrol edin ve bitişe 14 gün kala dışarıdan bir izleme uyarısı kurun. Yapılandırma değişikliklerinden sonra certbot renew --dry-run komutunu yeniden çalıştırmak, sürpriz hataları önler.