
Wildcard SSL Sertifikası: Let's Encrypt ile Alt Alan Adı SSL Kurulumu
Wildcard SSL sertifikası ile *.siteniz.com — tüm subdomain'leri tek sertifikayla koruyun. DNS-01 challenge, certbot ve acme.sh Cloudflare DNS API ile pratik kurulum ve otomatik yenileme rehberi.
Wildcard SSL Sertifikası: DNS-01 Challenge, certbot ve acme.sh ile Pratik Kurulum
10 tane subdomain'iniz var: api, admin, shop, blog, staging, mail, cdn, dev, pay, docs. Her birine ayrı Let's Encrypt sertifikası almak ve her birini ayrı ayrı yönetmek yerine tek bir *.siteniz.com wildcard sertifikasıyla hepsini bir seferde örtmek — hangisi daha mantıklı? Bu yazı tam da bu soruya pratik yanıt veriyor: DNS-01 challenge nasıl çalışır, certbot ile wildcard nasıl alınır, acme.sh + Cloudflare DNS API ile otomatik yenileme nasıl kurulur, cPanel AutoSSL wildcard için ne yapar, VDS'de Buyukweb'in önerilen yapılandırması ne?
Let's Encrypt'in kavramsal altyapısını (ACME protokolü, DV/OV/EV, 90 gün politikası, sertifika şeffaflık logları) arıyorsanız Let's Encrypt Nedir? Ücretsiz SSL, ACME ve Ekosistem Rehberi yazısına bakabilirsiniz. Burada doğrudan wildcard kurulumuna odaklanıyoruz.
Buyukweb perspektifi: cPanel hosting paketlerimizde AutoSSL, Let's Encrypt'i HTTP-01 challenge ile tek-domain/SAN sertifikalar için otomatik kuruyor. Wildcard için DNS-01 challenge gerektiğinden cPanel AutoSSL wildcard'ı doğrudan almıyor — cPanel wildcard ihtiyacı için destek hattımızdan talep açmanız gerekiyor, ekibimiz ek DNS yapılandırmasını sizin için hallediyor (0850 302 60 70). VDS müşterileri için certbot veya acme.sh ile DNS-01 wildcard tam esneklikle mümkün; Cloudflare DNS API ile otomatik yenileme yaygın kurulan yapılandırma.
Wildcard SSL Nedir ve Neden Gerekir?
*.siteniz.com şeklindeki wildcard sertifika, tek-seviyeli tüm alt alan adlarını tek sertifikayla kapsar.
Wildcard kapsam tablosu:
*.siteniz.com sertifikasıyla:
api.siteniz.com ✓ Kapsanır
admin.siteniz.com ✓ Kapsanır
shop.siteniz.com ✓ Kapsanır
blog.siteniz.com ✓ Kapsanır
musteri-1.siteniz.com ✓ Kapsanır (dinamik subdomain)
tenant-99.siteniz.com ✓ Kapsanır (SaaS multi-tenant)
Kapsam dışı:
siteniz.com ✗ Kapsanmaz (SAN olarak ayrıca eklenmeli)
sub.api.siteniz.com ✗ İki seviye derinlik *.*.siteniz.com ile çalışmaz
Önemli: Let's Encrypt ACME v2 (RFC 8555), iki seviyeli wildcard (*.*.siteniz.com) desteklemiyor. Yani dev.api.siteniz.com gibi ikinci seviye subdomain'ler için ayrı sertifika veya SAN gerekiyor.
Wildcard sertifika alırken tipik olarak hem *.siteniz.com hem siteniz.com birlikte talep edilir; bu sayede apex domain da aynı sertifika altında korunur.
Wildcard vs Multi-Domain SAN: Ne Zaman Hangisi?
İki yaklaşımın karşılaştırması:
| Kriter | Wildcard *.siteniz.com |
Multi-Domain SAN |
|---|---|---|
| Subdomain sayısı | Sınırsız, dinamik | Listede yazılı olanlar (3-100 arası) |
| DNS-01 challenge zorunlu mu? | Evet — HTTP-01 kabul edilmez | Hayır — HTTP-01 yeterli |
| cPanel AutoSSL desteği | Hayır (ek kurulum gerekir) | Evet — otomatik halleder |
| Yeni subdomain eklenince | Sertifika değişmez, hemen kullanılır | Sertifikaya yeniden eklemek gerekir |
| SaaS / multi-tenant uygunluğu | Mükemmel | Pratik değil |
| Gizlilik (CT logları) | Tek kayıt, tüm subdomain'ler gizli | Her SAN CT logunda görünür |
| cPanel hostingde kolay yol | Destek talebiyle | AutoSSL otomatik |
Dürüst tavsiye — tercih etmeyin: 3-5 sabit subdomain'iniz varsa (www, api, blog gibi) wildcard almak gerekmez. cPanel AutoSSL bunları HTTP-01 ile zaten otomatik halleder; müdahale gerekmez. Wildcard gerçekten lazım olduğu durumlar:
- Dinamik subdomain üretilen SaaS uygulamaları (
musteri-1.siteniz.com,tenant-2.siteniz.com) - 10 veya daha fazla subdomain yönetilen ekosistemler
- Subdomain listesini CT loglarında görünmesini istemediğiniz durumlar
DNS-01 Challenge: Wildcard'ın Tek Yolu
Let's Encrypt ACME v2'de wildcard sertifika yalnızca DNS-01 challenge ile alınabilir. HTTP-01 veya TLS-ALPN-01 ile wildcard mümkün değil.
DNS-01 challenge akışı:
1. ACME istemcisi Let's Encrypt'e wildcard talebini gönderir
2. Let's Encrypt: "_acme-challenge.siteniz.com TXT kaydına şu değeri yaz"
3. İstemci DNS sağlayıcınıza API ile veya manuel olarak TXT kaydı ekler:
_acme-challenge.siteniz.com IN TXT "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
4. Let's Encrypt DNS'i sorgular, değer doğrulanırsa sertifika imzalanır
5. TXT kaydı silinebilir (tekrar kullanılmaz)
DNS-01'in avantajları:
- Port 80 veya 443 açık olmak zorunda değil
- Güvenlik duvarı arkasındaki veya kamuya açık olmayan sunucularda çalışır
- Otomasyon için DNS API kullanılabilir (certbot plugin, acme.sh dns hook)
DNS-01 ile otomatik yenileme için DNS sağlayıcınızın API erişimi olması gerekiyor. API yoksa sertifika her 90 günde manuel alınmak zorunda — bu durumda otomasyon çalışmaz.
certbot ile Wildcard Sertifika Alma
Manuel DNS-01 Challenge (Herhangi Bir DNS Sağlayıcı)
DNS API'niz yoksa veya tek seferlik kurulum yapıyorsanız:
# certbot kurulumu (Ubuntu/Debian)
sudo apt update && sudo apt install certbot -y
# Wildcard sertifika — manuel DNS-01 challenge
sudo certbot certonly --manual --preferred-challenges dns --email [email protected] --agree-tos --no-eff-email -d siteniz.com -d *.siteniz.com
Certbot ekranda şunu gösterecek:
Please deploy a DNS TXT record under the name:
_acme-challenge.siteniz.com
with the following value:
AbCdEfGhIjKlMnOpQrStUvWxYz1234567890ABCD
Before continuing, verify the TXT record has been deployed.
Press Enter to Continue
DNS panelinize gidin, TXT kaydını ekleyin, propagasyonu bekleyin (genelde 30-120 saniye), sonra Enter'a basın. Başarılı olursa:
Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/siteniz.com/fullchain.pem
Dikkat: --manual ile alınan wildcard sertifika otomatik yenilenemez. Her 90 günde bu adımları tekrarlamanız gerekir. Otomasyon istiyorsanız DNS API plugin kullanın.
certbot + Cloudflare DNS Plugin (Otomatik Yenileme)
# Cloudflare DNS plugin kurulumu
sudo apt install python3-certbot-dns-cloudflare -y
# veya pip ile:
# pip3 install certbot-dns-cloudflare
# Cloudflare API token dosyası oluştur
sudo mkdir -p /root/.secrets/certbot
sudo nano /root/.secrets/certbot/cloudflare.ini
cloudflare.ini içeriği:
dns_cloudflare_api_token = CF_API_TOKEN_BURAYA
Token izinleri: Cloudflare dashboard → API Tokens → Create Token → Zone:DNS:Edit (yalnızca ilgili zone için scoped token önerilir, Global API Key kullanmayın).
# Dosyayı güvenli hale getir
sudo chmod 600 /root/.secrets/certbot/cloudflare.ini
# Wildcard sertifika al
sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.secrets/certbot/cloudflare.ini --email [email protected] --agree-tos --no-eff-email -d siteniz.com -d *.siteniz.com
# Dry-run ile yenileme testini kontrol et
sudo certbot renew --dry-run
acme.sh ile Wildcard: Cloudflare DNS API Örneği
acme.sh saf shell scripti olduğundan Python bağımlılığı yok; 150'yi aşkın DNS sağlayıcısını API ile destekliyor.
# acme.sh kurulumu
curl https://get.acme.sh | sh -s [email protected]
source ~/.bashrc
Cloudflare DNS API ile Wildcard
# Cloudflare API token (Zone:DNS:Edit izni)
export CF_Token="CF_API_TOKEN_BURAYA"
# Hesap ID veya Zone ID opsiyonel:
# export CF_Account_ID="hesap_id"
# export CF_Zone_ID="zone_id"
# Wildcard sertifika — ECDSA P-256 (önerilen)
~/.acme.sh/acme.sh --issue --dns dns_cf -d siteniz.com -d *.siteniz.com --keylength ec-256
# RSA 2048 tercih ediyorsanız:
# ~/.acme.sh/acme.sh --issue --dns dns_cf -d siteniz.com -d *.siteniz.com
acme.sh token değerini ~/.acme.sh/account.conf dosyasına otomatik kaydeder; sonraki yenilemeler için tekrar export gerekmez.
acme.sh Sertifikayı Nginx/Apache'ye Yükleme
# Nginx için sertifikayı deploy et
~/.acme.sh/acme.sh --install-cert -d siteniz.com --ecc --cert-file /etc/nginx/ssl/siteniz.com.crt --key-file /etc/nginx/ssl/siteniz.com.key --fullchain-file /etc/nginx/ssl/siteniz.com.fullchain.pem --reloadcmd "systemctl reload nginx"
DNS API Plugin Desteği
acme.sh 150+ farklı DNS sağlayıcısı için hazır plugin sunar (dns_cf Cloudflare, dns_cpanel cPanel/WHM API, dns_ovh OVH, ve büyük bulut DNS sağlayıcıları için ayrı eklentiler dahil). Hangi DNS yönetiminde olduğunuza göre uygun plugin seçilir; her birinin API token alma + ortam değişkeni belirleme adımı küçük farklarla benzer.
certbot tarafında 15+ resmi DNS plugin mevcut (certbot-dns-cloudflare, certbot-dns-cpanel, certbot-dns-ovh gibi). Tam liste için: ~/.acme.sh/acme.sh --list veya acme.sh resmi wiki dnsapi sayfası.
ACME İstemcisi Wildcard Desteği Karşılaştırması
| İstemci | Wildcard | DNS-01 Otomasyon | DNS Plugin Sayısı | Platform |
|---|---|---|---|---|
| certbot | ✓ | Plugin tabanlı | 15+ resmi | Linux |
| acme.sh | ✓ | Hook tabanlı | 150+ | Linux/macOS/Shell |
| lego | ✓ | Dahili | 75+ | Go binary, cross-platform |
| win-acme (WACS) | ✓ | DNS validasyon | 10+ | Windows CLI |
| cPanel AutoSSL | ✗ (ek kurulum gerekir) | HTTP-01 | — | cPanel WHM |
cPanel AutoSSL ve Wildcard: Gerçek Durum
cPanel AutoSSL Let's Encrypt'i HTTP-01 challenge ile çalıştırır; bu nedenle otomatik olarak wildcard sertifika alamaz. Mevcut durum:
- Standart cPanel paketi:
siteniz.com,www.siteniz.com, bilinen subdomain'ler için AutoSSL HTTP-01 ile otomatik çalışır - Wildcard ihtiyacı varsa: cPanel WHM tarafında Let's Encrypt DNS-01 plugin'i etkinleştirilmesi gerekiyor; bu ek yapılandırma gerektiriyor
Buyukweb cPanel'de wildcard yolu: Hosting destek hattımızdan talep açın (0850 302 60 70 veya [email protected]). Ekibimiz WHM tarafında DNS-01 yapılandırmasını devreye alıyor. Kendiniz doğrudan yapamazsınız; bu, shared hosting ortamında WHM erişimi gerektiren bir işlem.
VDS müşterileri için durum farklı: root erişiminiz var, certbot veya acme.sh'ı istediğiniz gibi kurabilirsiniz — tam esneklik.
Buyukweb Hosting ve VDS'de Wildcard Kurulum Yolu
cPanel Web Hosting Müşterileri
- Destek talebi açın: "wildcard SSL kurulumu,
*.siteniz.com" - DNS sağlayıcınızı bildirin (Cloudflare mı, başka bir DNS mı?)
- Ekibimiz DNS-01 challenge için gerekli TXT kayıt değerini size iletir
- DNS panelinizde TXT kaydını eklersiniz
- Sertifika kurulur; yenileme sürecini de ekibimiz yönetir
VDS Müşterileri (E5-V4, E5-V2 vb.)
Root erişiminiz var; certbot veya acme.sh ile doğrudan kurabilirsiniz.
Buyukweb VDS'de yaygın yapılandırma: acme.sh + Cloudflare DNS API + cron. Cloudflare DNS kullanıyorsanız:
# 1. acme.sh kur
curl https://get.acme.sh | sh -s [email protected]
# 2. Cloudflare API token'ı set et
export CF_Token="CF_TOKEN_BURAYA"
# 3. Wildcard sertifika al
~/.acme.sh/acme.sh --issue --dns dns_cf -d siteniz.com -d *.siteniz.com --keylength ec-256
# 4. Sertifikayı konuma kur
~/.acme.sh/acme.sh --install-cert -d siteniz.com --ecc --fullchain-file /etc/ssl/siteniz.com.pem --key-file /etc/ssl/siteniz.com.key --reloadcmd "systemctl reload nginx"
# 5. Mevcut cron listesini kontrol et (acme.sh otomatik ekler)
crontab -l
Wildcard Yenileme: Cron Yapılandırması
acme.sh kurulumu sırasında crontab'a otomatik satır ekler. Kontrol etmek veya manuel kurmak için:
# acme.sh'ın eklediği otomatik yenileme (sabah 02:25 — günlük kontrol)
25 2 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
certbot kullanıyorsanız:
# certbot yenileme cron (günde iki kez kontrol — Let's Encrypt önerisi)
0 */12 * * * root certbot renew --quiet --deploy-hook "systemctl reload nginx"
Yenileme log'unu izlemek için:
# certbot log
sudo tail -f /var/log/letsencrypt/letsencrypt.log
# acme.sh log
tail -f ~/.acme.sh/acme.sh.log
Nginx ve Apache: Wildcard Sertifika Yapılandırması
Nginx — *.siteniz.com server_name Matching
# /etc/nginx/conf.d/wildcard.conf
# HTTP → HTTPS yönlendirme
server {
listen 80;
server_name siteniz.com *.siteniz.com;
return 301 https://$host$request_uri;
}
# Apex domain
server {
listen 443 ssl http2;
server_name siteniz.com;
ssl_certificate /etc/ssl/siteniz.com.pem;
ssl_certificate_key /etc/ssl/siteniz.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
# ... root, index, location blokları
}
# Wildcard subdomain'leri yakalamak için genel blok
server {
listen 443 ssl http2;
server_name *.siteniz.com;
ssl_certificate /etc/ssl/siteniz.com.pem;
ssl_certificate_key /etc/ssl/siteniz.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
# $host değişkeniyle subdomain'e göre ayır
root /var/www/$host;
index index.php index.html;
# ... location blokları
}
Apache — Wildcard VirtualHost
# /etc/apache2/sites-available/wildcard-ssl.conf
<VirtualHost *:443>
ServerName siteniz.com
ServerAlias *.siteniz.com
SSLEngine on
SSLCertificateFile /etc/ssl/siteniz.com.pem
SSLCertificateKeyFile /etc/ssl/siteniz.com.key
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# VirtualDocumentRoot ile subdomain'e göre dizin seç
VirtualDocumentRoot /var/www/%-2.0.%-1/%1
# Örn: blog.siteniz.com → /var/www/siteniz.com/blog/
# Örn: api.siteniz.com → /var/www/siteniz.com/api/
</VirtualHost>
Sık Sorulan Sorular
Wildcard sertifika iki seviyeli subdomain'leri kapsar mı?
Hayır. *.siteniz.com yalnızca tek seviye kapsıyor: api.siteniz.com, shop.siteniz.com vb. staging.api.siteniz.com veya v2.api.siteniz.com gibi iki seviyeli subdomain'ler bu sertifikanın dışında kalıyor. Let's Encrypt *.*.siteniz.com şeklinde iki seviyeli wildcard vermiyor — bu ACME v2 standardında yok.
Wildcard ile multi-domain SAN arasındaki temel fark nedir?
Wildcard, önceden bilinmeyen veya sayısı değişen subdomain'ler için idealdir — SaaS uygulamaları gibi. SAN sertifika, üzerinde yazılı domain'leri kapsıyor; yeni domain eklemek için sertifikayı yeniden almak gerekiyor. Çok az ve sabit subdomain'iniz varsa (3-5 tane) SAN sertifika daha basit; cPanel AutoSSL onu HTTP-01 ile halledebiliyor.
DNS API olmadan wildcard otomasyon mümkün mü?
Hayır. --manual modda DNS-01 challenge'ı elle tamamlamak mümkün ama bu otomasyon değil; her 90 günde tekrarlamak gerekiyor. Otomatik yenileme için DNS sağlayıcınızın API'si ve ilgili plugin şart.
Cloudflare proxy (turuncu bulut) açıkken wildcard sertifika çalışır mı?
Let's Encrypt DNS-01 challenge doğrudan DNS'e bakıyor; Cloudflare proxy'nin açık veya kapalı olması challenge'ı etkilemiyor. Sertifika alındıktan sonra Cloudflare proxy aktifse trafik Cloudflare üzerinden geçiyor; kaynak sunucunuzdaki wildcard sertifika Cloudflare-to-origin bağlantısı için kullanılıyor (Cloudflare SSL modunu "Full (strict)" yapmanız önerilir).
cPanel AutoSSL wildcard sertifika neden almıyor?
AutoSSL HTTP-01 challenge kullanıyor; wildcard için DNS-01 zorunlu. HTTP-01 ile *.siteniz.com domain sahipliği kanıtlanamıyor. Wildcard almak için WHM tarafında Let's Encrypt DNS-01 plugin'inin etkinleştirilmesi gerekiyor; bu işlemi Buyukweb destek hattı yapıyor.
Wildcard sertifika Punycode (Türkçe) domain'lerde çalışır mı?
Evet. Let's Encrypt Punycode encoded domain'ler için wildcard sertifika verebiliyor. Örneğin xn--rnek-7ra.com için *.xn--rnek-7ra.com sertifika alınabiliyor. Certbot/acme.sh'da domain'i Punycode formatında belirtmeniz gerekiyor.
Wildcard sertifika alırken apex domain (siteniz.com) otomatik ekleniyor mu?
Hayır. *.siteniz.com wildcard apex domain'i (siteniz.com) kapsamıyor. Bu iki farklı SAN girişi: -d siteniz.com -d *.siteniz.com şeklinde ikisini birlikte belirtmelisiniz.
Sonuç
Wildcard SSL, subdomain sayısı fazla veya dinamik olan ekosistemler için Net kazanç: tek sertifika, tek yönetim noktası, CT loglarında subdomain listesi gizli. Bedeli: DNS-01 challenge zorunluluğu ve DNS API gereksinimi.
3-5 sabit subdomain'iniz varsa cPanel AutoSSL zaten HTTP-01 ile hallediyor — wildcard almanıza gerek yok. Wildcard gerçekten anlamlı olduğu yer: dinamik subdomain üreten SaaS uygulamaları, 10+ subdomain ekosistemi.
Buyukweb VDS'de certbot veya acme.sh + Cloudflare DNS API kurulumu standart bir öğleden sonra işi. cPanel hosting'de wildcard ihtiyacınız varsa destek hattımız (0850 302 60 70) WHM yapılandırmasını sizin için hallediyor. Let's Encrypt'in kavramsal altyapısı için Let's Encrypt Nedir? yazısına bakabilirsiniz.
İlgili Büyükweb Hizmetleri
- VDS Sunucu — root erişim, certbot/acme.sh tam kontrol, wildcard kurulumu için uygun altyapı
- cPanel Web Hosting — AutoSSL Let's Encrypt standart, wildcard için destek talebi
- Let's Encrypt Kavramsal Rehber — ACME protokolü, DV/OV/EV, 90 gün politikası
- Tüm Hosting Paketleri
Wildcard SSL kurulumu veya yapılandırma soruları için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz.
Domain & DNS İlgili Hizmetlerimiz
Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin
Etiketler:

