DNS Kurulumu
SupportBot'un tüm servisleri tek kök alan adından türeyen alt alanlarda yayınlanır. Bu kılavuz, Cloudflare üzerinde açılması gereken kayıtları ve dikkat edilecek tek önemli ayarı (proxy modu) anlatır.
Açılacak Kayıtlar
Cloudflare → alan adınız → DNS → Records. <sunucu-ip> yerine VPS'inizin IPv4 adresini yazın:
| Tür | Ad (Name) | Hedef (Content) | Proxy durumu |
|---|---|---|---|
| A | @ (kök) |
<sunucu-ip> |
DNS only (gri) |
| CNAME | www |
@ |
DNS only (gri) |
| CNAME | chat |
@ |
DNS only (gri) |
| CNAME | dashboard |
@ |
DNS only (gri) |
| CNAME | ai |
@ |
DNS only (gri) |
| CNAME | bot |
@ |
DNS only (gri) |
| CNAME | showcase |
@ |
DNS only (gri) |
| CNAME | status |
@ |
DNS only (gri) |
| CNAME | n8n |
@ |
DNS only (gri) — opsiyonel |
Hangi alt alanın hangi servise gittiği: Başlarken → Alan Adları.
Proxy Modu: Neden "DNS only"?
SupportBot'un reverse proxy'si (Caddy), TLS sertifikalarını Let's Encrypt'ten kendisi alır. Cloudflare proxy'si (turuncu bulut) açıkken ACME doğrulaması Cloudflare kenarına takılır ve sertifika alınamayabilir.
- Önerilen: Tüm kayıtları DNS only (gri bulut) açın. Caddy her alt alan için sertifikayı otomatik alır ve yeniler; ek ayar gerekmez.
- Cloudflare proxy'sini (CDN/WAF) özellikle istiyorsanız: kayıtları önce gri açıp sertifikaların alındığını doğrulayın; ardından SSL/TLS modunu Full (strict) yapıp kayıtları turuncuya çevirebilirsiniz. Sertifika yenilemesi sorun çıkarırsa griye dönmek her zaman güvenlidir.
Sunucu Tarafı Önkoşullar
- VPS güvenlik duvarında 80 ve 443 portları açık olmalı (Let's Encrypt doğrulaması 80'i kullanır).
infra/.enviçindekiAPP_DOMAINalan adınızla eşleşmeli;CADDY_ACME_EMAILgeçerli bir e-posta olmalı (sertifika bildirimleri için).
Doğrulama
Kayıtlar yayıldıktan sonra (genelde birkaç dakika):
# DNS çözülüyor mu?
dig +short chat.<alan-adınız>
# Sertifika alındı mı, servis yanıtlıyor mu?
curl -I https://chat.<alan-adınız>
curl -I https://<alan-adınız> # tanıtım sitesi
İlk isteklerde Caddy sertifikayı o anda alır; birkaç saniye gecikme normaldir. Sorun yaşarsanız sunucuda docker compose logs caddy çıktısındaki tls.obtain satırlarına bakın.
Sorun Giderme
| Belirti | Kontrol |
|---|---|
curl sertifika hatası veriyor |
Kayıt turuncu (proxied) mu? Griye çevirin ve birkaç dakika bekleyin. |
tls.obtain ... connection refused |
80/443 portları güvenlik duvarında kapalı olabilir. |
| Alt alan yanlış servise gidiyor | infra/.env içindeki APP_DOMAIN değerini ve Caddy'nin yeniden başlatıldığını kontrol edin. |