# WebSocket-Konfiguration für direkte Verbindungen ## Port-Aufteilung - **Port 2020**: API (HTTP, intern, über Apache-Proxy) - **Port 4443**: Socket.io (HTTPS, extern, direkt erreichbar) - **Port 4551**: Daemon-WebSocket (HTTPS, extern, direkt erreichbar) ## Umgebungsvariablen für Backend-Server (Socket.io auf Port 4443) Füge diese Variablen zur Backend `.env` oder Systemd-Service-Datei hinzu: ```bash # Socket.io HTTPS-Server SOCKET_IO_PORT=4443 SOCKET_IO_TLS=1 SOCKET_IO_TLS_KEY_PATH=/etc/letsencrypt/live/www.your-part.de/privkey.pem SOCKET_IO_TLS_CERT_PATH=/etc/letsencrypt/live/www.your-part.de/fullchain.pem # Optional: # SOCKET_IO_TLS_CA_PATH=/etc/letsencrypt/live/www.your-part.de/chain.pem ``` ## Umgebungsvariablen für Daemon (Port 4551) Füge diese Variablen zur Daemon-Systemd-Service-Datei hinzu: ```bash # Daemon WebSocket HTTPS-Server DAEMON_PORT=4551 DAEMON_TLS=1 DAEMON_TLS_KEY_PATH=/etc/letsencrypt/live/www.your-part.de/privkey.pem DAEMON_TLS_CERT_PATH=/etc/letsencrypt/live/www.your-part.de/fullchain.pem # Optional: # DAEMON_TLS_CA_PATH=/etc/letsencrypt/live/www.your-part.de/chain.pem ``` ## Prüfen der Konfiguration ### 1. Backend-Server-Logs prüfen ```bash sudo journalctl -u yourpart-backend -n 50 -f ``` Du solltest sehen: - `[Socket.io] HTTPS-Server für Socket.io konfiguriert auf Port 4443` - `[Socket.io] HTTPS-Server läuft auf Port 4443 (direkt erreichbar)` Wenn du stattdessen siehst: - `[Socket.io] TLS nicht konfiguriert - Socket.io wird nicht verfügbar sein` Dann sind die Umgebungsvariablen nicht gesetzt. ### 2. Ports prüfen ```bash sudo netstat -tlnp | grep -E "(4443|4551|2020)" ``` Du solltest sehen: - Port 2020: Backend API (HTTP) - Port 4443: Backend Socket.io (HTTPS) - Port 4551: Daemon WebSocket (HTTPS) ### 3. Firewall prüfen ```bash sudo ufw status | grep -E "(4443|4551)" ``` Beide Ports sollten erlaubt sein. ## Systemd-Service-Dateien aktualisieren ### Backend-Service (`/etc/systemd/system/yourpart-backend.service`) Stelle sicher, dass die Umgebungsvariablen in der `[Service]`-Sektion gesetzt sind: ```ini [Service] Environment="SOCKET_IO_PORT=4443" Environment="SOCKET_IO_TLS=1" Environment="SOCKET_IO_TLS_KEY_PATH=/etc/letsencrypt/live/www.your-part.de/privkey.pem" Environment="SOCKET_IO_TLS_CERT_PATH=/etc/letsencrypt/live/www.your-part.de/fullchain.pem" ``` ### Daemon-Service (`/etc/systemd/system/yourpart-daemon.service`) Stelle sicher, dass die Umgebungsvariablen in der `[Service]`-Sektion gesetzt sind: ```ini [Service] Environment="DAEMON_PORT=4551" Environment="DAEMON_TLS=1" Environment="DAEMON_TLS_KEY_PATH=/etc/letsencrypt/live/www.your-part.de/privkey.pem" Environment="DAEMON_TLS_CERT_PATH=/etc/letsencrypt/live/www.your-part.de/fullchain.pem" ``` Nach dem Ändern der Service-Dateien: ```bash sudo systemctl daemon-reload sudo systemctl restart yourpart-backend sudo systemctl restart yourpart-daemon ```