Let's Encrypt yenilenmiyor: sertifikanın sessizce dolmasının beş sebebi
Otomatik yenileme çalışmadığında kimse haber vermez. Bir sabah site açılmaz ve tarayıcı ziyaretçiyi uyarır.
Sertifikanın süresi dolduğunda öğrenme biçiminiz genelde şudur: bir müşteri arar ve "siteye giremiyorum, güvenli değil diyor" der.
Bu yazı o telefonu almamak üzerine.
Neden sessizce olur
Let's Encrypt sertifikaları 90 gün geçerlidir ve otomatik yenilenmek üzere tasarlanmıştır. Otomasyon çalıştığı sürece hiç düşünmezsiniz.
Sorun tam olarak budur: çalışmadığında da hiç düşünmezsiniz. Yenileme başarısız olduğunda çoğu panel size e-posta atmaz, log'a bir satır yazar ve devam eder.
1. Doğrulama yolu kapalı
Yenileme, alan adının hâlâ size ait olduğunu ispatlamayı gerektirir. En
yaygın yöntem http://siteniz.com/.well-known/acme-challenge/...
adresine bir dosya koyup Let's Encrypt'in onu okumasıdır.
Bu yol kapalıysa yenileme başarısız olur. Kapatan tipik şeyler:
- Tüm
httpisteklerinihttps'e yönlendiren agresif bir kural .well-knownklasörünü kapsayan bir "gizli dosyaları engelle" kuralı- Uygulamanın kendi yönlendiricisinin o yolu yakalayıp 404 vermesi
- Bakım modu
Kontrol basit: yenilemeden önce o dizine bir test dosyası koyup dışarıdan çağırın.
2. Alan adı artık o sunucuya bakmıyor
Müşteri DNS'i değiştirmiş, alan adı başka bir yere taşınmış ama sertifika hâlâ eski sunucuda yenilenmeye çalışıyor.
Doğrulama başka sunucuya düşer, yenileme başarısız olur. Log'da "doğrulama başarısız" yazar ve sebebi anlaşılmaz.
Yenileme hatası aldığınızda ilk kontrol: dig +short A alanadi.com
gerçekten bu sunucuyu mu gösteriyor?
3. Sertifikada olmayan bir alan adı
Sertifika siteniz.com ve www.siteniz.com için alınmış. Sonra biri
panel.siteniz.com eklemiş ama DNS kaydını açmamış.
Yenileme tüm adları doğrulamaya çalışır. Biri başarısız olursa işlemin tamamı başarısız olur — mevcut çalışan adlar dâhil.
Kullanılmayan alt alan adlarını sertifikadan çıkarın.
4. Hız sınırı
Let's Encrypt'in oran sınırları vardır. Bir hatayı çözmeye çalışırken arka arkaya deneme yaparsanız sınıra takılırsınız ve saatlerce denemeyemezsiniz.
Sorun giderirken hazırlık ortamını kullanın, üretimde deneme yapmayın.
5. Zamanlanmış görev çalışmıyor
En sıradan ve en çok görülen sebep. Yenilemeyi tetikleyen görev devre dışı kalmış, sunucu taşınmış, cron servisi durmuş.
Kimse fark etmez çünkü çalışmayan bir görev hiçbir çıktı üretmez.
Asıl çözüm: izleme
Bütün bunları tek tek kovalamak yerine tersinden kurun: sertifikanın kaç gün kaldığını izleyin.
30 günün altına düştüğünde uyarı gelsin. Zabbix, Uptime Kuma, ya da basit bir betik yeter:
echo | openssl s_client -servername siteniz.com -connect siteniz.com:443 2>/dev/null \
| openssl x509 -noout -enddate
Elinizdeki alan adlarını hızlıca kontrol etmek için SSL Sertifika Kontrolü aracını kullanabilirsiniz; kalan günü ve kapsanan alan adlarını birlikte gösterir.
Ve bir de CAA
Sertifika konuşurken: alan adınızda CAA kaydı var mı? CAA, hangi sertifika otoritesinin sizin adınıza sertifika üretebileceğini sınırlar.
Tek satır, sıfır maliyet, ve yetkisiz sertifika üretilmesine karşı gerçek bir engel:
ornek.com.tr. CAA 0 issue "letsencrypt.org"
DNS sorgulama aracıyla mevcut durumunuzu görebilirsiniz.
// paylaş
// hatıra defteri
Sen ne hatırlıyorsun?
Burası yorum alanı değil. Bu yazıyı okurken aklına gelen kendi hatıranı bırak — bir isim, bir akşam, bir ayrıntı. Arşiv ortak hafızayla büyüyor.
Defter henüz boş. İlk hatırayı sen bırak.