Refactor proposal mapping in FalukantService to handle null characters
- Updated the proposal mapping logic to filter out proposals with null proposed characters, enhancing data integrity. - Ensured that noble title is safely accessed with a fallback to null, improving robustness in character data handling.
This commit is contained in:
105
websocket-config-guide.md
Normal file
105
websocket-config-guide.md
Normal file
@@ -0,0 +1,105 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user