Certbot çıktısında "Challenge failed for domain alanadi.com" veya "Some challenges have failed" görüyorsanız, Let's Encrypt alan adının sizin kontrolünüzde olduğunu doğrulayamamıştır. Ayrıntı, hata tipinde yazar (connection, unauthorized, dns, timeout vb.).
Önce ayrıntıyı okuyun
sudo tail -n 60 /var/log/letsencrypt/letsencrypt.log
sudo certbot renew --dry-run
Kayıtta Type: ve Detail: alanlarına bakın.
Sık nedenler ve çözümleri
- unauthorized / 404:
.well-known/acme-challenge/yolu sunulmuyor; webroot yanlış veya yönlendirme kuralı araya giriyor. - Yanlış IP: A kaydı başka sunucuya gidiyor.
dig +short A alanadi.comile kontrol edin. - IPv6 sorunu: AAAA kaydı var ama sunucu IPv6'da yanıt vermiyor. Let's Encrypt IPv6'yı tercih edebilir; AAAA kaydını düzeltin ya da kaldırın.
- HTTPS'ye zorunlu yönlendirme: Doğrulama yolunu yönlendirme dışında bırakın veya yönlendirmenin doğru çalıştığından emin olun.
- Güvenlik duvarı / WAF: Doğrulama istekleri engelleniyor olabilir.
Adım adım
- Sınama dosyası oluşturup dışarıdan açılıp açılmadığına bakın:
echo test | sudo tee /var/www/html/.well-known/acme-challenge/deneme curl -i http://alanadi.com/.well-known/acme-challenge/deneme - Yanıt 200 değilse web sunucusu ayarını düzeltin.
- Deneme sırasında tekrar tekrar başarısız olmayın;
--stagingveya--dry-runkullanın. - Joker alan adı için HTTP-01 yetmez, DNS-01 gerekir.
Alternatif
Otomatik yenileme sizin altyapınızda sürekli sorun çıkarıyorsa doğrulama desteğiyle gelen ücretli bir sertifika düşünülebilir: SSL sertifikaları. Mevcut kurulumunuzu SSL sorun gidericiyle da sınayabilirsiniz.
Ek ipuçları
Birden fazla alan adı içeren isteklerde tek bir başarısız ad bütün siparişi düşürür; sorunlu adı bulmak için alan adlarını tek tek deneyin. CDN arkasındaki siteler için doğrulamayı kaynak sunucuya ulaşacak şekilde ayarlayın veya DNS-01 kullanın.