HTTP-01 doğrulamasında Let's Encrypt, sunucunuzun 80. portuna bağlanıp /.well-known/acme-challenge/ altındaki dosyayı okur. Certbot'un "Connection refused" bildirmesi, bağlantının sunucu tarafından açıkça reddedildiği, yani o portta dinleyen bir servisin olmadığı anlamına gelir.
Önce neden "refused" olduğunu ayırın
Reddedilme genellikle sunucuya ulaşıldığını ama portu dinleyen bir şey olmadığını gösterir. Zaman aşımı (timeout) ise paketlerin sessizce düşürüldüğü, yani güvenlik duvarı durumudur.
Kontrol listesi
- Servis dinliyor mu?
Boşsa Nginx/Apache çalışmıyor ya da yalnızca 443'te dinliyor.sudo ss -tlnp | grep ':80 ' - Dışarıdan erişim:
Kendi makinenizden değil, başka bir ağdan deneyin.curl -I http://alanadi.com/ - DNS doğru IP'yi mi gösteriyor?
dig +short A alanadi.comsonucu sunucunuzun genel IP'siyle aynı olmalı. - Güvenlik duvarı:
sudo ufw allow 80/tcp sudo firewall-cmd --add-service=http --permanent && sudo firewall-cmd --reload - Standalone mod: Web sunucusu yoksa Certbot'un kendi geçici sunucusunu kullanın (80. portta başka servis çalışmamalı):
sudo certbot certonly --standalone -d alanadi.com - NAT / bulut: Yönlendirici veya bulut güvenlik grubunda 80 portu açık olmalı.
Sonuç
Doğrulama yalnızca 80. porttan yapılır; 443'e zorla yönlendirme yapsanız bile ilk istek 80'e gelir. Bu portu kapatmak yenilemeleri de bozar. Sorun sürerse SSL sorun gidericiyi deneyin; ücretli sertifika ve DNS/e-posta tabanlı doğrulama alternatifleri için SSL sertifikalarına bakın.
Ek ipuçları
Sunucu sağlayıcınızın güvenlik duvarı veya güvenlik grubu panelini de ayrıca kontrol edin; işletim sisteminde açık olan bir port bulut katmanında kapalı olabilir. Panel tabanlı hosting kullanıyorsanız (cPanel, Plesk) sertifikayı panelin kendi otomatik SSL özelliği yönetiyor olabilir; bu durumda elle Certbot çalıştırmak gerekmeyebilir.