- Removed unnecessary applications (LMS, Builder, Print Designer, Wiki) from `apps.json`, `Dockerfile`, and `docker-compose.yml` for a streamlined deployment. - Updated installation command in `docker-compose.yml` to reflect the new minimal setup. - Enhanced documentation in `QUICKSTART.md`, `README.md`, and `SUMMARY.md` to clarify the core applications included and their functionalities. - Added new `SSL_SETUP.md` for detailed SSL configuration instructions.
4.9 KiB
SSL/HTTPS Konfigürasyonu
Bu dokümanda Dokploy üzerinde SSL/HTTPS kurulumu açıklanır.
🔒 SSL Aktivasyonu (Dokploy)
Otomatik SSL (Let's Encrypt)
Dokploy otomatik olarak Let's Encrypt sertifikası oluşturur:
Adım 1: Domain Yapılandırması
- Dokploy Dashboard'a gidin
- Service'inizi seçin
- Domains sekmesine tıklayın
- Add Domain butonuna tıklayın
Adım 2: Domain Ekleyin
Domain: erp.yourdomain.com
Port: 8088
Enable HTTPS: ✅ (işaretleyin)
Adım 3: DNS Ayarları
DNS provider'ınızda A kaydı oluşturun:
Type: A
Host: erp (veya subdomain)
Value: [Sunucu IP adresi]
TTL: 300 (5 dakika)
Adım 4: SSL Sertifikası
Dokploy otomatik olarak:
- ✅ Let's Encrypt sertifikası oluşturur
- ✅ HTTPS'i aktif eder
- ✅ HTTP'den HTTPS'e redirect yapar
- ✅ Sertifikayı otomatik yeniler (90 günde bir)
🌐 Port Yapılandırması
Frontend Port: 8088
# .env dosyasında
HTTP_PORT=8088
Erişim URL'leri
HTTP (development):
http://erp.yourdomain.com:8088
HTTPS (production - Dokploy):
https://erp.yourdomain.com
Not: Dokploy HTTPS aktif olduğunda port 443 kullanır ve :8088 belirtmeye gerek kalmaz.
🔧 Site Config Ayarları
SSL ile Çalışma
Site oluşturulduktan sonra SSL için ek ayar gerekmez. Dokploy reverse proxy olarak çalışır:
Browser (HTTPS:443)
↓
Dokploy Proxy (SSL termination)
↓
Frontend Container (HTTP:8080)
↓
Backend Container (HTTP:8000)
Force HTTPS (İsteğe Bağlı)
Eğer tüm trafiği HTTPS'e yönlendirmek isterseniz:
# Container'a girin
docker exec -it <backend-container> bash
# Site config'e ekleyin
bench --site <site-name> set-config force_https 1
📝 Environment Variables
SSL ile İlgili Değişkenler
# .env dosyasında
# Site domain (HTTPS için gerçek domain kullanın)
SITE_NAME=erp.yourdomain.com
# Frontend port (Dokploy internal)
HTTP_PORT=8088
# Real IP headers (SSL proxy arkasında)
UPSTREAM_REAL_IP_ADDRESS=127.0.0.1
UPSTREAM_REAL_IP_HEADER=X-Forwarded-For
UPSTREAM_REAL_IP_RECURSIVE=off
# Site name resolution
FRAPPE_SITE_NAME_HEADER=$$host
🔍 SSL Doğrulama
1. Domain Erişimi
# HTTPS çalışıyor mu?
curl -I https://erp.yourdomain.com
# Beklenen:
HTTP/2 200
strict-transport-security: max-age=31536000
2. Sertifika Kontrolü
# SSL sertifikası detayları
openssl s_client -connect erp.yourdomain.com:443 -servername erp.yourdomain.com
# Veya browser'da:
# Adres çubuğunda kilit ikonu → Sertifika detayları
3. Redirect Kontrolü
# HTTP → HTTPS redirect
curl -I http://erp.yourdomain.com
# Beklenen:
HTTP/1.1 301 Moved Permanently
Location: https://erp.yourdomain.com
🐛 Sorun Giderme
SSL Sertifikası Oluşturmuyor
Kontrol:
-
Domain DNS'i doğru mu?
nslookup erp.yourdomain.com # Sunucu IP'sini göstermeli -
Port 80 ve 443 açık mı?
sudo ufw status # 80/tcp, 443/tcp ALLOW -
Domain'e erişilebiliyor mu?
curl http://erp.yourdomain.com:8088 # Site açılmalı
Çözüm:
- DNS propagation'ı bekleyin (5-30 dakika)
- Dokploy'da domain'i silip tekrar ekleyin
- Firewall kurallarını kontrol edin
"Site not secure" Uyarısı
Sebep: Sertifika henüz oluşmadı veya geçersiz
Çözüm:
- Dokploy logs kontrol edin
- Let's Encrypt rate limit'e takılmadınızdan emin olun
- Domain'in doğru olduğunu kontrol edin
Mixed Content Uyarısı
Sebep: HTTPS sitede HTTP kaynak yükleniyor
Çözüm:
# Site config'de force https aktif edin
bench --site <site-name> set-config force_https 1
# Nginx config'de HSTS header'ı kontrol edin
# (Dokploy otomatik ekler)
📚 Dokploy SSL Özellikleri
Otomatik Özellikler
✅ Let's Encrypt Integration
- Otomatik sertifika oluşturma
- Otomatik yenileme (90 günde bir)
- Wildcard sertifika desteği
✅ HTTP → HTTPS Redirect
- Otomatik yönlendirme
- HSTS header
- Secure cookie flags
✅ SSL Termination
- Proxy seviyesinde SSL
- Backend HTTP kullanır (performans)
- Zero-config
🎯 Production Checklist
SSL İçin
- Gerçek domain adı var
- DNS A kaydı eklendi
- Dokploy'da domain eklendi
- "Enable HTTPS" işaretlendi
- Sertifika oluşturuldu
- HTTPS erişim test edildi
- HTTP redirect çalışıyor
- Force HTTPS aktif (site config)
Güvenlik
- HSTS header aktif
- Secure cookies
- TLS 1.2+ kullanılıyor
- Mixed content yok
- SSL Labs testi yapıldı (A+ rating)
🔗 Yararlı Kaynaklar
Son Güncelleme: 2025-10-13
Versiyon: 1.0.0
Frontend Port: 8088
SSL: Dokploy otomatik (Let's Encrypt)