Emriva.net

Let’s Encrypt Certbot ile SSL Kurulumu

VDS’te ücretsiz SSL: certbot + Nginx/Apache, otomatik yenileme. Emriva HTTPS rehberi.

Yazılım & Deploy2 dk okumaSon güncelleme: 2026-08-15

Yazar

Yunus Emre Derin · Kurucu

Emriva Bilişim Medya Ve Reklamcılık kurucusu. VDS, dedicated sunucu ve web hosting altyapısı üzerinde ürün ve operasyon deneyimi.

Let’s Encrypt ve Certbot nedir?

Let’s Encrypt, ücretsiz DV (domain doğrulamalı) X.509 sertifikası veren bir CA’dir. Certbot, EFF’in ACME istemcisidir: doğrulama, kurulum, yenileme. 90 günlük sertifika; timer ile otomatik yenileme beklenir. EV/OV kurumsal yeşil bar vaadi yoktur; tarayıcı kilidi DV ile yeterlidir.

HTTP-01: 80 açık, doğru vhost. DNS-01: TXT, wildcard için. TLS-ALPN-01 daha seyrek. Rate limit: aynı alan için başarısız deneme banı; script döngüsüne sokmayın. certbot --test-cert staging zinciri tarayıcıda untrusted görünür; üretimde unutmayın. --expand mevcut sertifikaya isim ekler. --cert-name birden fazla linelenmiş isteği ayırır. snap certbot Ubuntu’da apt’ten daha güncel olabilir; ikisini karıştırmayın. webroot kullanırken alias /acme-challenge Nginx’te root ile uyumlu olmalıdır. 90 günün 60’ında yenileme normaldir.

Nginx ile Certbot nasıl kurulur? (Ubuntu)

apt install -y certbot python3-certbot-nginx. Nginx’te server_name doğru, 80 dinleniyor. certbot --nginx -d ornek.com -d www.ornek.com. E-posta ve ToS. nginx -t. ufw allow 80,443.

Apache: python3-certbot-apache. Yalnızca dosya: certbot certonly --webroot -w /var/www/ornek -d ornek.com. Sertifika /etc/letsencrypt/live/ornek.com/fullchain.pem ve privkey.pem. İzinler: privkey root okur.

Yenileme ve systemd timer

systemctl status certbot.timer. certbot renew --dry-run. Nginx plugin reload eder; certonly kullandıysanız --deploy-hook "systemctl reload nginx". Cron /etc/cron.d/certbot distrolarda hâlâ olabilir. --dry-run Let’s Encrypt staging’e gider, üretim kotasını yemez. 00:00 UTC civarı yenileme yoğunluğu bazen yavaşlar; timer rastgele gecikme ekler. fullchain.pem ara CA içerir; yalnızca cert.pem veren eski nginx ssl_certificate satırı zinciri kırar. İzin: chmod 640 privkey.pem, grup ssl-cert. Apache SSLCertificateFile fullchain, SSLCertificateKeyFile privkey. HSTS max-age’i yenileme fail’inde sizi kilitler; ilk gün kısa tutun.

Yenileme fail: 80 kapalı, yanlış vhost, DNS kayması, CAA. log: /var/log/letsencrypt/letsencrypt.log. Sertifika 30 günden kısa kala renew dener; 90 günün 89’unda panik etmeyin, timer’ı kontrol edin. openssl x509 -in fullchain.pem -noout -dates bitişini gösterir. systemctl list-timers certbot yenileme saatini basar.

Sık hatalar ve wildcard

Wildcard: certbot -d ornek.com -d '*.ornek.com' --manual --preferred-challenges dns veya DNS eklentisi (Cloudflare API vb.). Manuel TXT her yenilemede tekrar ister; otomasyon olmadan production’a yakışmaz. www unutulmuş SAN. Windows VDS’te win-acme ayrı araçtır; bu rehber Certbot/Linux. --reuse-key anahtar rotasyonunu durdurur; varsayılan yenilemede yeni key üretilir. ocsp / must-staple nadiren kırılır, ilk kurulumda zorunlu tutmayın.

HataNedenÇözüm
Connection refused80 kapalıufw, nginx listen
Unauthorizedyanlış IP/vhostdig, server_name
Too many certificatesrate limitbekleyin, staging ACME
renew skiptimer kapalısystemctl enable --now certbot.timer

Emriva ürün eşlemesi

Bu bölüm ürün eşlemesidir. cPanel hosting’de AutoSSL/Let’s Encrypt panelden; VDS’te Certbot sizin paketinizdir (apt). Günlük yedek /etc/letsencrypt kopyasını da kapsamayabilir — privkey’i kendi arşivinizde tutun.

Let’s Encrypt staging ortamı rate limit denemesi içindir. Destekte letsencrypt.log’un hata bloğunu paylaşın, hesabı değil.