8.0 KiB
🌐 Domain Yapılandırma Rehberi
Oltalama Panel için domain yapılandırma seçenekleri ve kurulum rehberi.
📋 İki Seçenek
Seçenek 1: Tek Domain (Önerilen) ⭐
Yapı:
yourdomain.com/ → Frontend
yourdomain.com/api/ → Backend API
yourdomain.com/t/ → Tracking Links
Avantajları:
- ✅ CORS sorunu yok
- ✅ Tek SSL sertifikası
- ✅ Kolay kurulum
- ✅ Basit yönetim
Dezavantajları:
- ⚠️ Reverse proxy gerekli (Nginx Proxy Manager)
Seçenek 2: İki Ayrı Domain
Yapı:
panel.yourdomain.com → Frontend
api.yourdomain.com → Backend API & Tracking
Avantajları:
- ✅ Servisler birbirinden izole
- ✅ Bağımsız ölçeklendirme
- ✅ Farklı sunucularda çalışabilir
Dezavantajları:
- ⚠️ CORS yapılandırması gerekli
- ⚠️ İki SSL sertifikası
- ⚠️ Daha karmaşık kurulum
🚀 Seçenek 1: Tek Domain Kurulumu
1. DNS Ayarları
yourdomain.com A 123.456.789.10
www.yourdomain.com CNAME yourdomain.com
2. Nginx Proxy Manager Kurulumu
Proxy Host Ekle:
Domain: yourdomain.com, www.yourdomain.com
Scheme: http
Forward Hostname: localhost
Forward Port: 4173
SSL: ✓ Force SSL, HTTP/2, HSTS
Advanced Config:
location /api {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /t/ {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
3. Oltalama Panel Ayarları
Panele giriş yapın → Ayarlar → Genel Ayarlar
☐ İki Ayrı Domain Kullan (kapalı bırakın)
Domain (Base URL): https://yourdomain.com
4. Test
# Frontend
curl https://yourdomain.com
# Backend API
curl https://yourdomain.com/api/health
# Tracking
curl -I https://yourdomain.com/t/test-token
🔀 Seçenek 2: İki Domain Kurulumu
1. DNS Ayarları
api.yourdomain.com A 123.456.789.10
panel.yourdomain.com A 123.456.789.10
2. Nginx Proxy Manager - Backend
Proxy Host Ekle (Backend):
Domain: api.yourdomain.com
Scheme: http
Forward Hostname: localhost
Forward Port: 3000
SSL: ✓ Force SSL, HTTP/2, HSTS
3. Nginx Proxy Manager - Frontend
Proxy Host Ekle (Frontend):
Domain: panel.yourdomain.com
Scheme: http
Forward Hostname: localhost
Forward Port: 4173
SSL: ✓ Force SSL, HTTP/2, HSTS
4. Oltalama Panel Ayarları
Panele giriş yapın → Ayarlar → Genel Ayarlar
☑ İki Ayrı Domain Kullan (aktif et)
Backend Domain: https://api.yourdomain.com
Frontend Domain: https://panel.yourdomain.com
Kaydet butonuna tıklayın. CORS otomatik olarak yapılandırılacaktır.
5. Frontend Ortam Değişkenleri
/opt/oltalama/frontend/.env:
VITE_API_URL=https://api.yourdomain.com
Frontend'i yeniden build edin:
cd /opt/oltalama/frontend
npm run build
pm2 restart oltalama-frontend
6. Test
# Frontend
curl https://panel.yourdomain.com
# Backend API
curl https://api.yourdomain.com/api/health
# Tracking
curl -I https://api.yourdomain.com/t/test-token
# CORS test
curl -I -X OPTIONS https://api.yourdomain.com/api/health \
-H "Origin: https://panel.yourdomain.com" \
-H "Access-Control-Request-Method: GET"
🔧 Port Ayarları
Varsayılan Portlar
- Backend:
3000 - Frontend:
4173 - Nginx Proxy Manager:
80(HTTP),443(HTTPS)
Farklı Portlar Kullanma
Eğer backend veya frontend'i farklı portlarda çalıştırmak isterseniz:
Backend Port Değiştirme
1. Backend .env:
PORT=8080
2. PM2 Ecosystem Config:
{
name: 'oltalama-backend',
env: {
PORT: 8080,
},
}
3. Nginx Proxy Manager:
Forward Port: 8080
4. Restart:
pm2 restart oltalama-backend
Frontend Port Değiştirme
1. Frontend package.json:
{
"scripts": {
"preview": "vite preview --port 5000"
}
}
2. PM2 Ecosystem Config:
{
name: 'oltalama-frontend',
env: {
PORT: 5000,
},
}
3. Nginx Proxy Manager:
Forward Port: 5000
4. Restart:
pm2 restart oltalama-frontend
🔒 SSL/TLS Sertifikaları
Let's Encrypt (Otomatik)
Nginx Proxy Manager üzerinden otomatik:
- Proxy Host ayarlarına girin
- SSL sekmesine gidin
- Request a new SSL Certificate seçin
- Force SSL, HTTP/2, HSTS aktif edin
- Email girin ve I Agree işaretleyin
- Save
Sertifika otomatik olarak yenilenecektir.
Manuel SSL (Opsiyonel)
# Certbot kurulumu
sudo apt install certbot
# Sertifika oluşturma
sudo certbot certonly --standalone -d yourdomain.com
# Sertifikalar
/etc/letsencrypt/live/yourdomain.com/fullchain.pem
/etc/letsencrypt/live/yourdomain.com/privkey.pem
🐛 Sorun Giderme
Problem: "Failed to load resource: net::ERR_BLOCKED_BY_CLIENT"
Sebep: AdBlock/uBlock Origin tracking URL'lerini engelliyor
Çözüm:
- Test için AdBlock'u devre dışı bırakın
- Veya tracking URL pattern'ini değiştirin
Problem: CORS hatası
Semptomlar:
Access to XMLHttpRequest at 'https://api.yourdomain.com/api/...'
from origin 'https://panel.yourdomain.com' has been blocked by CORS policy
Çözüm:
- Panelden CORS ayarlarını kontrol edin
- İki Ayrı Domain Kullan aktif mi?
- Frontend ve Backend URL'leri doğru mu?
- Backend'i restart edin:
pm2 restart oltalama-backend
Problem: 502 Bad Gateway
Çözüm:
# Backend çalışıyor mu?
pm2 status
# Port dinleniyor mu?
sudo netstat -tulpn | grep 3000
# Firewall açık mı?
sudo ufw status
Problem: Tracking linkleri çalışmıyor
Çözüm:
- Panelde Base URL doğru ayarlanmış mı?
/t/route Nginx'de tanımlı mı?- Backend loglarını kontrol edin:
pm2 logs oltalama-backend --lines 50
📊 Karşılaştırma Tablosu
| Özellik | Tek Domain | İki Domain |
|---|---|---|
| Kurulum Süresi | 15 dakika | 30 dakika |
| CORS | Gerekli değil | Gerekli |
| SSL Sertifikası | 1 tane | 2 tane |
| Reverse Proxy | Gerekli | Opsiyonel |
| DNS Kaydı | 1 domain | 2 subdomain |
| Güvenlik | Yüksek | Yüksek |
| Ölçeklenebilirlik | Orta | Yüksek |
| Bakım | Kolay | Orta |
| Maliyet | Düşük | Düşük |
| Önerilen | ✅ Evet | Özel durumlar |
🎯 Hangi Seçeneği Seçmeliyim?
Tek Domain Seçin Eğer:
- ✅ Basit kurulum istiyorsanız
- ✅ CORS ile uğraşmak istemiyorsanız
- ✅ Tek sunucuda çalışacaksanız
- ✅ Yeni başlıyorsanız
İki Domain Seçin Eğer:
- ✅ Frontend ve backend'i farklı sunucularda çalıştıracaksanız
- ✅ Servislerinizi izole etmek istiyorsanız
- ✅ Farklı takımlar frontend/backend'i yönetecekse
- ✅ Bağımsız ölçeklendirme gerekiyorsa
📝 Özet: Hızlı Kurulum
Tek Domain (5 Adım)
# 1. Sunucu başlatın
pm2 start ecosystem.config.js
# 2. Nginx Proxy Manager'a domain ekleyin
# 3. SSL sertifikası alın (Let's Encrypt)
# 4. Panelde domain ayarlayın
# 5. Test edin
İki Domain (8 Adım)
# 1. Sunucu başlatın
pm2 start ecosystem.config.js
# 2. Nginx Proxy Manager'a backend domain ekleyin
# 3. Nginx Proxy Manager'a frontend domain ekleyin
# 4. SSL sertifikaları alın (Let's Encrypt)
# 5. Frontend .env dosyasını güncelleyin
# 6. Frontend'i yeniden build edin
# 7. Panelde CORS ve domain ayarlarını yapın
# 8. Test edin
Son Güncelleme: 2025-11-10
Versiyon: 1.0.0
İpucu: İlk kurulumda Tek Domain kullanmanızı öneririz. İhtiyaç duyduğunuzda daha sonra İki Domain'e geçebilirsiniz.