Ana içeriğe geç

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ı?

SenaryoWildcard 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

  1. Wildcard DNS A kaydı: *.yourdomain.com → sunucu IP adresiniz
  2. Wildcard SSL sertifikası: *.yourdomain.com adresini kapsar
  3. 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ürAd/HostDeğerTTL
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ürAd/HostDeğer
A@123.456.789.0

Sağlayıcıya Özel Talimatlar

Cloudflare

  1. Cloudflare Kontrol Paneli'ne giriş yapın
  2. Alan adınızı seçin
  3. DNSKayıtlar bölümüne gidin
  4. Kayıt Ekle'ye tıklayın
  5. Tür: A | Ad: * | IPv4: sunucu IP'niz | Proxy: Yalnızca DNS (gri bulut)
  6. 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

  1. Giriş yapın → Alan Listesi → Alan adınızı Yönetin
  2. Gelişmiş DNS bölümüne gidin
  3. Yeni Kayıt Ekle'ye tıklayın
  4. Tür: A Kaydı | Host: * | Değer: sunucu IP'niz | TTL: Otomatik
  5. Kaydedin

GoDaddy

  1. Giriş yapın → Ürünlerim → Alan adınız için DNS
  2. Kayıt Ekle'ye tıklayın
  3. Tür: A | Ad: * | Değer: sunucu IP'niz | TTL: 600
  4. Kaydedin

Google Domains / Google Cloud DNS

  1. Google Domains'a gidin
  2. Alan adınızı seçin → DNS
  3. Özel Kayıtlar altında şunu ekleyin:
  4. Host: * | Tür: A | Veri: sunucu IP'niz
  5. Kaydedin

AWS Route 53

  1. Route 53Barındırılan Bölgeler → alan adınızı seçin
  2. Kayıt Oluştur'a tıklayın
  3. Kayıt adı: * | Kayıt türü: A
  4. Değer: sunucu IP'niz | TTL: 300
  5. Kayıt Oluştur'a tıklayın

DigitalOcean DNS

  1. Alan Adları'na gidin
  2. Alan adınızı seçin
  3. Ekleyin: Tür A | Hostname * | Yönlendirilecek yer: sunucu IP'niz | TTL: 300

Hetzner DNS

  1. Hetzner DNS Konsoluna gidin
  2. Bölgenizi seçin
  3. 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 EklentisiKurulum
Cloudflarepython3-certbot-dns-cloudflaresudo apt install python3-certbot-dns-cloudflare
Route 53python3-certbot-dns-route53sudo apt install python3-certbot-dns-route53
DigitalOceanpython3-certbot-dns-digitaloceansudo apt install python3-certbot-dns-digitalocean
Google Cloudpython3-certbot-dns-googlesudo 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:

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.com değ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:

  1. ResolveTenant middleware'i alt alanı (acme) çıkarır
  2. subdomain = 'acme' olan kiracıyı arar
  3. Bulunursa, kiracı mevcut bağlam olarak ayarlanır
  4. 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