
HTTPS Sertifika Yenileme Sorunları: Yaygın Hatalar ve Çözümleri
SSL sertifika yenileme sorunları ve çözümleri. Certbot yenileme hataları, DNS doğrulama sorunları, cPanel AutoSSL hataları ve sertifika izin sorunları.
HTTPS Sertifika Yenileme Sorunları: Yaygın Hatalar ve Çözümleri
Let's Encrypt sertifikaları 90 gün geçerlidir ve otomatik yenileme başarısız olursa siteye erişim engellenir. Bu rehberde en yaygın yenileme sorunları ve çözümleri ele alınmaktadır.
Certbot Yenileme Testi
# Dry run ile yenilemeyi test et
certbot renew --dry-run
# Belirli sertifika yenile
certbot renew --cert-name sitem.com --dry-run
# Zorla yenile (süre dolmamış olsa bile)
certbot renew --force-renewal --cert-name sitem.com
Hata 1: Port 80 Erişilemiyor
Problem: Error: Challenge failed for domain sitem.com
Connect to port 80 connection refused
Çözüm:
# Güvenlik duvarı kontrolü
firewall-cmd --list-ports
ufw status
# Port 80 aç
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
# veya
ufw allow 80
# Nginx/Apache çalışıyor mu?
systemctl status nginx
systemctl status apache2
# Port dinleniyor mu?
ss -tlnp | grep :80
Hata 2: .well-known Klasörü Erişilemiyor
Error: 404 Not Found fetching /.well-known/acme-challenge/...
Nginx çözümü:
# Server bloğuna ekleyin
location /.well-known/acme-challenge/ {
root /var/www/html;
allow all;
}
Apache çözümü:
<Directory /var/www/html/.well-known>
Options None
AllowOverride None
Require all granted
</Directory>
# .htaccess yönlendirmesini geçici devre dışı bırakın
# RewriteRule ^ https://... satırını yorum satırına alın
Hata 3: DNS Doğrulama Başarısız (Wildcard)
DNS problem: NXDOMAIN looking up TXT for _acme-challenge.sitem.com
Çözüm:
# DNS TXT kaydını doğru eklediğinizden emin olun
# Yayılma süresini bekleyin (TTL)
# DNS kaydını kontrol et
dig TXT _acme-challenge.sitem.com
nslookup -type=TXT _acme-challenge.sitem.com
# Propagasyon testi
# https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.sitem.com
Hata 4: Rate Limit Aşımı
Error: too many certificates already issued
for exact set of domains in the last 168 hours
Çözüm:
# Let's Encrypt rate limit: haftalık 5 sertifika
# Mevcut sertifika varsa yenilemeye gerek yok
# Mevcut sertifika durumu
certbot certificates
# Yeterli süre kalmışsa yenileme gerekmez
# Staging ortamında test edin (rate limit yok)
certbot renew --dry-run --staging
Hata 5: Dosya İzin Sorunu
Error: [Errno 13] Permission denied: '/etc/letsencrypt/...'
Çözüm:
# Certbot'un sahipliğini düzelt
chown -R root:root /etc/letsencrypt/
chmod 755 /etc/letsencrypt/
chmod 755 /etc/letsencrypt/live/
chmod 755 /etc/letsencrypt/archive/
chmod 644 /etc/letsencrypt/live/sitem.com/fullchain.pem
chmod 600 /etc/letsencrypt/live/sitem.com/privkey.pem
Hata 6: OCSP Stapling Hatası (Nginx)
nginx: [warn] "ssl_stapling" ignored, issuer certificate not found
Çözüm:
# chain.pem kullanın (fullchain.pem değil)
ssl_trusted_certificate /etc/letsencrypt/live/sitem.com/chain.pem;
# veya OCSP stapling devre dışı bırakın
ssl_stapling off;
ACME CA Alternatifleri (Let's Encrypt Tek Seçenek Değil)
Let's Encrypt rate limit, downtime veya politika sebepleriyle alternatif ACME-uyumlu CA'lara geçişi mümkün:
| CA | Avantaj | Dezavantaj |
|---|---|---|
| Let's Encrypt | En yaygın, ücretsiz, 90 gün | Rate limit (haftada 50/domain) |
| ZeroSSL | 90 günlük ücretsiz, dashboard, EV opsiyonu | Daha az araç desteği |
| Buypass Go SSL | Norveç tabanlı, 180 gün geçerlilik | Daha az client desteği |
| Alternatif ücretsiz CA servisleri | ZeroSSL ve diğer ACME-uyumlu CA seçenekleri | API key gerek, kotalar değişken |
| Sectigo (paid) | OV/EV dahil, 1-2 yıl geçerlilik | Yıllık ücret |
# ZeroSSL ACME endpoint'i
certbot --server https://acme.zerossl.com/v2/DV90 \
--eab-kid <ZEROSSL_KID> --eab-hmac-key <ZEROSSL_KEY> \
-d sitem.com
# Buypass
certbot --server https://api.buypass.com/acme/directory \
--agree-tos -m [email protected] -d sitem.com
Pratik tavsiye: Production'da iki CA ile fallback kurulumu — Let's Encrypt rate limit'e takılırsa otomatik ZeroSSL devreye girer. Karmaşıklık katar; sadece hayati önemde sitelerde mantıklı.
DNS-01 Plugin'leri — Wildcard ve Otomasyon
DNS-01 challenge wildcard zorunluluğu için gerekli. Manuel TXT kaydı eklemek yerine DNS provider plugin'i otomatik yapsın:
| Provider | Plugin Paketi | Wildcard | Comment |
|---|---|---|---|
| Cloudflare | python3-certbot-dns-cloudflare |
✅ | En popüler, API token ile |
| API destekli DNS sağlayıcı | python3-certbot-dns-<saglayici> |
✅ | Sağlayıcının API token / key'i |
| Generic (RFC 2136) | python3-certbot-dns-rfc2136 |
✅ | TSIG + BIND/PowerDNS |
# Cloudflare örneği
apt install python3-certbot-dns-cloudflare
# /etc/letsencrypt/cloudflare.ini
dns_cloudflare_api_token = <SCOPED_TOKEN>
chmod 600 /etc/letsencrypt/cloudflare.ini
certbot certonly --dns-cloudflare \
--dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
-d sitem.com -d "*.sitem.com" \
--preferred-challenges dns-01
⚠️ Token scoped olmalı (Zone:DNS:Edit + Zone:Zone:Read sadece ilgili zone'a). Global API key tehlike.
.com.tr / .org.tr ve Türk Tescil Firmaları
Bazı Türk registrarlarda DNS-01 doğrulaması için manuel TXT kaydı gerekir; certbot --manual --preferred-challenges dns ile interaktif çalışırsınız. Pratik çözüm: DNS'i Cloudflare'e (veya başka API destekli sağlayıcıya) devredip (NS değişikliği) otomasyonu açmak.
Otomatik Yenileme Yapılandırması
# systemd timer kontrolü
systemctl status certbot.timer
systemctl list-timers | grep certbot
# Manuel cron kurulumu
crontab -e
# 0 3 * * * certbot renew --quiet --post-hook "systemctl reload nginx"
# Yenileme sonrası servis yenileme
# /etc/letsencrypt/renewal/sitem.com.conf
[renewalparams]
post_hook = systemctl reload nginx
Renewal Sonrası Deploy Hook — Çoklu Servisi Yenile
Sertifika yenilendiğinde sadece web sunucu değil, sertifikayı kullanan tüm servisleri restart/reload etmek gerekir.
# /etc/letsencrypt/renewal-hooks/deploy/multi-service.sh
#!/bin/bash
# Bu script her başarılı yenileme sonrasında çalışır
# Hangi domain yenilendi: $RENEWED_DOMAINS
# Hangi sertifika: $RENEWED_LINEAGE
# Web sunucu
systemctl reload nginx 2>/dev/null || systemctl reload apache2
# Mail server
systemctl restart postfix
systemctl restart dovecot
# FTP (opsiyonel)
systemctl restart pure-ftpd 2>/dev/null
# Application server (opsiyonel)
systemctl reload php8.2-fpm
systemctl restart node-app
# Monitoring/log
echo "$(date): SSL yenilendi: $RENEWED_DOMAINS" >> /var/log/ssl-renewals.log
# Slack/Discord bildirimi
curl -X POST -H 'Content-type: application/json' \
-d "{\"text\":\":lock: SSL yenilendi: $RENEWED_DOMAINS\"}" \
<slack_webhook_url>
chmod +x /etc/letsencrypt/renewal-hooks/deploy/multi-service.sh
renewal-hooks üç tip dizin sunar:
pre/— yenilemeden ÖNCE (ör. backup)post/— yenilemeden SONRA (her zaman)deploy/— sadece başarılı yenilemede (servis reload için doğru yer)
Çoklu Sertifika için Spesifik Hook
# /etc/letsencrypt/renewal/sitem.com.conf
[renewalparams]
deploy_hook = systemctl reload nginx; systemctl restart postfix
Yenileme İzleme + Downtime'sız Geçiş
Healthchecks.io ile Cron Monitoring
# /etc/cron.d/certbot-renewal
0 3 * * * root certbot renew --quiet && curl -fsS https://hc-ping.com/<UUID> > /dev/null
Bu yapı: cron her gün 03:00'da yenilemeyi dener; başarılı olduğunda Healthchecks.io'a ping atar. Ping gelmezse 24 saat içinde Healthchecks size mail/Slack uyarısı gönderir → yenileme bozuk demektir.
Cron Tabanlı Süre Uyarı Script'i
#!/bin/bash
# /usr/local/bin/ssl-warn.sh
# Sertifikası 14 günden az kalanlar için uyarı
EXPIRY=$(echo | openssl s_client -connect sitem.com:443 2>/dev/null | \
openssl x509 -noout -enddate | cut -d= -f2)
EXPIRY_EPOCH=$(date -d "$EXPIRY" +%s)
NOW_EPOCH=$(date +%s)
DAYS_LEFT=$(( (EXPIRY_EPOCH - NOW_EPOCH) / 86400 ))
if [ $DAYS_LEFT -lt 14 ]; then
echo "UYARI: sitem.com sertifikası $DAYS_LEFT gün sonra dolacak!" | \
mail -s "SSL Uyarı: sitem.com" [email protected]
fi
Downtime'sız Yenileme — Reload vs Restart
| İşlem | Etki |
|---|---|
nginx -s reload |
✅ Yeni config + sertifika anında, mevcut bağlantı korunur |
systemctl reload nginx |
✅ Yukarıdakiyle aynı |
systemctl restart nginx |
⚠️ ~1-3 sn downtime |
apache2 graceful |
✅ Apache eşdeğeri |
Always reload, never restart — yenileme hook'unda reload kullanın.
Stand-by Sertifika Stratejisi
Dual-cert: new ve current ikisi de canlıda. Yenileme new üzerinden tetiklenir, doğrulanır, ardından atomic symlink swap ile current'a geçilir:
ln -sfn /etc/letsencrypt/live/sitem.com.new /etc/letsencrypt/live/sitem.com.current
nginx -s reload
Symlink swap atomik, sıfır downtime.
cPanel AutoSSL Sorunları
# cPanel → Security → SSL/TLS Status → Run AutoSSL
# Yaygın AutoSSL hataları:
# 1. Domain cPanel sunucusunu göstermiyor (DNS yanlış)
# 2. CAA kaydı Let's Encrypt'i engelliyor
# 3. .well-known erişim engeli
# CAA kaydı kontrolü
dig CAA sitem.com
# CAA kaydı ekleyin (gerekirse)
sitem.com. CAA 0 issue "letsencrypt.org"
Sertifika Süre Kontrolü
# Sertifika son kullanma tarihi
echo | openssl s_client -connect sitem.com:443 2>/dev/null | openssl x509 -noout -dates
# Çoklu domain kontrolü için script
for domain in sitem1.com sitem2.com sitem3.com; do
echo -n "$domain: "
echo | openssl s_client -connect $domain:443 2>/dev/null | openssl x509 -noout -enddate
done
Büyükweb cPanel hosting paketlerinde AutoSSL otomatik çalışır. Sorun yaşarsanız destek ekibimiz 7/24 yardıma hazırdır.
Sertifika Yenileme Sıkça Sorulan Sorular
Sertifika dolduktan kaç saat sonra reissue olur?
Let's Encrypt doluş anında bile reissue mümkün — rate limit hâlâ geçerliyse. certbot certonly --force-renewal --cert-name sitem.com ile zorla yenileyin. Reissue anında geçerli olur, ama tarayıcı cache'inde HSTS varsa user uyarı görebilir.
Sertifika dolduğunda Google sıralamamı düşürür mü?
Doğrudan etki sınırlı, ama dolaylı çok büyük. Tarayıcı uyarısı → bounce rate fırlar → dwell time düşer → sıralama zedelenir. Ayrıca Googlebot SSL hatasıyla karşılaşırsa content erişimini reddedebilir, indeksleme aksar.
Cloudflare arkasındaysam yenilemem gerek mi?
Evet — origin'de mutlaka. Cloudflare "Full strict" SSL modu için origin geçerli sertifika ister. Yalnızca "Flexible" modda gerekmez ama o güvenli değil. Büyükweb hosting AutoSSL otomatik halleder.
Wildcard ve normal sertifika aynı anda alabilir miyim?
Evet — birden fazla sertifika lineage'i. Örnek: sitem.com için DV + *.sitem.com için DNS-01 wildcard. Her ikisi ayrı renewal config'ine sahip, ayrı renewal döngüsü.
Apache mod_md alternatifi nasıl?
Apache 2.4.30+ mod_md (MDomain sitem.com) ile certbot kurulumu olmadan otomatik ACME yenileme yapar. Plain Apache için temiz çözüm; ama mail/FTP gibi ek servis kullanılıyorsa certbot daha esnek.
Yenileme sırasında downtime olur mu?
Doğru yapıldığında 0 saniye. reload komutu mevcut bağlantıları korur, yeni config'i live çekirdeğe enjekte eder. Sadece restart ile downtime gelir; bunu hiç kullanmayın.
CAA kaydı nedir, nasıl kontrol ederim?
CAA (Certificate Authority Authorization) DNS kaydı, hangi CA'nın sertifika verebileceğini belirler. Yanlış CAA → Let's Encrypt başvurusu reddedilir.
dig CAA sitem.com
# Beklenen: 0 issue "letsencrypt.org"
# veya boş (her CA izin var)
certbot /etc/letsencrypt/ taşımak güvenli mi?
Riskli. Sertifika dosyaları + private key + renewal config'leri tam yapı olarak taşınmalı. Tercih: tar -czpf ile tüm dizini sıkıştırıp yeni sunucuya açın, certbot certificates ile doğrulayın. Eksik dosya = bir sonraki renewal başarısız.
Outlook/SMTP postfix sertifika hatası alıyor?
Postfix smtpd_tls_cert_file ve smtpd_tls_key_file Let's Encrypt yolunu işaret etmeli (fullchain.pem + privkey.pem). Sertifika yenilense de postfix reload yoksa yeni dosyayı okumaz. renewal-hooks/deploy/'a systemctl reload postfix ekle.
Büyükweb cPanel paketinde AutoSSL ne sıklıkla çalışır?
WHM'de varsayılan 24 saatte bir tarama + 30 gün eşiğinden önce yenileme denemesi. Manuel tetikleme: WHM → SSL/TLS Status → Run AutoSSL. Tüm hesaplarda tek tıkla.
İlgili Büyükweb Hizmetleri
Sunucu ve site güvenliğini ciddiye alanlar için Türkiye Tier 3 veri merkezimizdeki paketler:
- Imunify360 Korumalı Web Hosting
- Tam Yetki VDS Sunucu
- OpenVPN Paketleri
- Datacenter Proxy
- Fiziksel Dedicated Sunucu
Sorularınız için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.
Güvenlik & SSL İlgili Hizmetlerimiz
Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin
Etiketler:

