Wildcard DNS Kurulumu
Wildcard DNS, acme.yourdomain.com, techcorp.yourdomain.com gibi kiracı alt alanlarına olanak tanır. Bu isteğe bağlıdır — FeedbackPulse, wildcard DNS olmadan slug tabanlı URL'lerle (örn. /wall/acme-corp) sorunsuz çalışır.
Wildcard DNS'e İhtiyacım Var mı?
| Senaryo | Wildcard DNS gerekli mi? |
|---|---|
Kiracılar slug tabanlı genel sayfalar kullanıyor (/wall/acme-corp) | Hayır |
Kiracılar kendi alt alanlarını istiyor (acme.yourdomain.com) | Evet |
Kiracılar kendi özel alan adlarını getiriyor (feedback.acme.com) | Hayır (bunun yerine CNAME kullanın) |
Neye İhtiyacınız Var
- Wildcard DNS A kaydı:
*.yourdomain.com→ sunucu IP adresiniz - Wildcard SSL sertifikası:
*.yourdomain.comadresini kapsar - Web sunucusu yapılandırması: tüm alt alanları kabul eder
Adım 1: DNS Kaydını Ekleyin
Alan adı kayıt şirketinizin DNS yönetim paneline gidin ve şunu ekleyin:
| Tür | Ad/Host | Değer | TTL |
|---|---|---|---|
| A | * | 123.456.789.0 (sunucu IP'niz) | 300 |
Kök alan adı için normal A kaydına da ihtiyacınız var:
Tür Ad/Host Değer A @123.456.789.0
Sağlayıcıya Özel Talimatlar
Cloudflare
- Cloudflare Kontrol Paneli'ne giriş yapın
- Alan adınızı seçin
- DNS → Kayıtlar bölümüne gidin
- Kayıt Ekle'ye tıklayın
- Tür:
A| Ad:*| IPv4: sunucu IP'niz | Proxy: Yalnızca DNS (gri bulut) - Kaydet'e tıklayın
Önemli: Wildcard alt alanlar için Cloudflare proxy'sini Yalnızca DNS (gri bulut) olarak ayarlayın, Proxy'li (turuncu bulut) olarak değil. Cloudflare'ın ücretsiz planı wildcard alt alanlarını proxy ile desteklemez.
Namecheap
- Giriş yapın → Alan Listesi → Alan adınızı Yönetin
- Gelişmiş DNS bölümüne gidin
- Yeni Kayıt Ekle'ye tıklayın
- Tür:
A Kaydı| Host:*| Değer: sunucu IP'niz | TTL: Otomatik - Kaydedin
GoDaddy
- Giriş yapın → Ürünlerim → Alan adınız için DNS
- Kayıt Ekle'ye tıklayın
- Tür:
A| Ad:*| Değer: sunucu IP'niz | TTL: 600 - Kaydedin
Google Domains / Google Cloud DNS
- Google Domains'a gidin
- Alan adınızı seçin → DNS
- Özel Kayıtlar altında şunu ekleyin:
- Host:
*| Tür:A| Veri: sunucu IP'niz - Kaydedin
AWS Route 53
- Route 53 → Barındırılan Bölgeler → alan adınızı seçin
- Kayıt Oluştur'a tıklayın
- Kayıt adı:
*| Kayıt türü:A - Değer: sunucu IP'niz | TTL:
300 - Kayıt Oluştur'a tıklayın
DigitalOcean DNS
- Ağ → Alan Adları'na gidin
- Alan adınızı seçin
- Ekleyin: Tür
A| Hostname*| Yönlendirilecek yer: sunucu IP'niz | TTL:300
Hetzner DNS
- Hetzner DNS Konsoluna gidin
- Bölgenizi seçin
- Kayıt ekleyin: Tür
A| Ad*| Değer: sunucu IP'niz
Adım 2: Wildcard SSL Sertifikası Alın
Seçenek A: DNS Challenge ile Let's Encrypt (Ücretsiz)
Let's Encrypt'ten wildcard sertifikalar DNS-01 challenge (HTTP değil) gerektirir:
# Sağlayıcınız için DNS eklentisiyle Certbot'u yükleyin
# Örnek: Cloudflare
sudo apt install certbot python3-certbot-dns-cloudflare
# Cloudflare kimlik bilgileri dosyası oluşturun
sudo mkdir -p /etc/letsencrypt
sudo nano /etc/letsencrypt/cloudflare.ini
Cloudflare API token'ınızı ekleyin:
dns_cloudflare_api_token = your_cloudflare_api_token_here
sudo chmod 600 /etc/letsencrypt/cloudflare.ini
# Wildcard sertifikayı alın
sudo certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
-d yourdomain.com \
-d "*.yourdomain.com"
Diğer Sağlayıcılar için DNS Eklentileri
| Sağlayıcı | Certbot Eklentisi | Kurulum |
|---|---|---|
| Cloudflare | python3-certbot-dns-cloudflare | sudo apt install python3-certbot-dns-cloudflare |
| Route 53 | python3-certbot-dns-route53 | sudo apt install python3-certbot-dns-route53 |
| DigitalOcean | python3-certbot-dns-digitalocean | sudo apt install python3-certbot-dns-digitalocean |
| Google Cloud | python3-certbot-dns-google | sudo apt install python3-certbot-dns-google |
Seçenek B: Manuel DNS Challenge
DNS sağlayıcınızın Certbot eklentisi yoksa:
sudo certbot certonly --manual --preferred-challenges dns \
-d yourdomain.com -d "*.yourdomain.com"
Certbot sizden bir TXT kaydı oluşturmanızı isteyecektir. Yönergeleri takip edin.
Manuel challenge uyarısı: Her 90 günde bir manuel olarak yenilemeniz ve her seferinde DNS TXT kaydını güncellemeniz gerekecektir.
Seçenek C: Ücretli Wildcard Sertifika
Şu sağlayıcılardan satın alın:
- Comodo/Sectigo (~70$/yıl)
- DigiCert (~400$/yıl)
- RapidSSL (~125$/yıl)
Adım 3: Web Sunucunuzu Yapılandırın
Şu belgelerdeki wildcard bölümlerine bakın:
- Apache Yapılandırması — "Wildcard Alt Alan Desteği" bölümünü arayın
- Nginx Yapılandırması — "Wildcard Alt Alan Desteği" bölümünü arayın
Anahtar: ServerAlias *.yourdomain.com (Apache) veya server_name yourdomain.com *.yourdomain.com; (Nginx) kullanın.
Adım 4: Çalıştığını Doğrulayın
# Bir alt alan için DNS çözümlemesini test edin
dig test.yourdomain.com
# ANSWER bölümünde sunucu IP'nizi döndürmelidir
# curl ile test edin
curl -I https://anything.yourdomain.com
# 200 veya yönlendirme döndürmelidir ("could not resolve host" hatası değil)
Adım 5: FeedbackPulse'u Yapılandırın
.env dosyanızı güncelleyin:
# Alt alanlar arasında çerezlerin çalışmasına izin vermek için oturum alan adını ayarlayın
SESSION_DOMAIN=.yourdomain.com
# Ana uygulama URL'niz (alt alan olmadan)
APP_URL=https://yourdomain.com
SESSION_DOMAIN=.yourdomain.comdeğerindeki baştaki noktaya dikkat edin — bu, oturum çerezlerinin tüm alt alanlarda çalışmasını sağlar.
FeedbackPulse'ta Alt Alanlar Nasıl Çalışır
acme.yourdomain.com'a bir istek geldiğinde:
ResolveTenantmiddleware'i alt alanı (acme) çıkarırsubdomain = 'acme'olan kiracıyı arar- Bulunursa, kiracı mevcut bağlam olarak ayarlanır
- Kullanıcı kiracının giriş sayfasını veya kontrol panelini görür
Kiracılar alt alanlarını kayıt sırasında belirler. Admin panelinden de manuel olarak ayarlayabilirsiniz.
Sonraki Adımlar
- SSL Sertifikaları — daha fazla SSL yapılandırma ayrıntısı
- Özel Alan Adları — kiracıların kendi alan adlarını kullanmasına izin verin