3.9 KiB
Production Setup - emailsorter.webklar.com
Probleme und Lösungen
1. Appwrite CORS-Konfiguration
Problem: Appwrite blockiert Requests von https://emailsorter.webklar.com weil nur https://localhost als Origin erlaubt ist.
Lösung:
- Gehe zu deiner Appwrite-Konsole: https://appwrite.webklar.com
- Öffne dein Projekt
- Gehe zu Settings → Platforms (oder Web)
- Füge eine neue Platform hinzu oder bearbeite die existierende:
- Name: Production
- Hostname:
emailsorter.webklar.com - Origin:
https://emailsorter.webklar.com
- Speichere die Änderungen
Alternative: Wenn du mehrere Origins brauchst, kannst du auch in Appwrite die CORS-Einstellungen anpassen, um mehrere Origins zu erlauben.
2. Backend-Server (502 Fehler)
Problem: Der Backend-Server läuft nicht oder ist nicht erreichbar.
Lösung:
Option A: Server auf demselben Server starten
-
SSH zum Server:
ssh user@webklar.com -
Zum Projekt-Verzeichnis navigieren:
cd /path/to/ANDJJJJJJ/server -
Environment-Variablen setzen: Erstelle oder bearbeite
.env:NODE_ENV=production PORT=3000 BASE_URL=https://api.emailsorter.webklar.com FRONTEND_URL=https://emailsorter.webklar.com CORS_ORIGIN=https://emailsorter.webklar.com APPWRITE_ENDPOINT=https://appwrite.webklar.com/v1 APPWRITE_PROJECT_ID=deine_projekt_id APPWRITE_API_KEY=dein_api_key APPWRITE_DATABASE_ID=email_sorter_db # ... weitere Variablen -
Server starten:
npm install npm start
Option B: Mit PM2 (empfohlen für Production)
npm install -g pm2
cd /path/to/ANDJJJJJJ/server
pm2 start index.mjs --name emailsorter-api
pm2 save
pm2 startup
Option C: Reverse Proxy konfigurieren (Nginx)
Falls der Server auf einem anderen Port läuft, konfiguriere Nginx:
server {
listen 80;
server_name api.emailsorter.webklar.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
3. Frontend Environment-Variablen
Stelle sicher, dass das Frontend die richtige Backend-URL verwendet:
-
Erstelle
client/.env.production:VITE_APPWRITE_ENDPOINT=https://appwrite.webklar.com/v1 VITE_APPWRITE_PROJECT_ID=deine_projekt_id VITE_API_URL=https://api.emailsorter.webklar.com -
Build das Frontend:
cd client npm run build -
Deploy den Build-Ordner (
client/dist) zu deinem Web-Server
4. Checkliste
- Appwrite CORS:
https://emailsorter.webklar.comals Origin hinzugefügt - Backend-Server läuft und ist erreichbar
- Backend
.envkonfiguriert mit Production-URLs - Frontend
.env.productionkonfiguriert - Frontend gebaut und deployed
- Reverse Proxy (Nginx) konfiguriert (falls nötig)
- SSL-Zertifikat für beide Domains (Frontend + API)
5. Testing
Nach dem Setup, teste:
- Frontend: https://emailsorter.webklar.com
- Backend Health: https://api.emailsorter.webklar.com/api/health
- Login: Versuche dich einzuloggen und prüfe die Browser-Konsole auf Fehler
Troubleshooting
CORS-Fehler weiterhin:
- Prüfe, ob die Appwrite-Änderungen gespeichert wurden
- Warte 1-2 Minuten (Cache)
- Prüfe Browser-Konsole für genaue Fehlermeldung
502 Bad Gateway:
- Prüfe, ob der Backend-Server läuft:
pm2 listoderps aux | grep node - Prüfe Server-Logs:
pm2 logs emailsorter-apiodertail -f server.log - Prüfe Firewall-Regeln
- Prüfe Reverse Proxy Konfiguration
API nicht erreichbar:
- Prüfe, ob der Port 3000 offen ist
- Prüfe, ob die Domain richtig auf den Server zeigt
- Prüfe DNS-Einträge