4NK_env/docs/sdk_relay/WEBSOCKET_CONFIGURATION.md
LeCoffre Deployment c0b3bda6da auto_clea
2025-09-25 15:25:14 +00:00

68 lines
2.2 KiB
Markdown

# Configuration WebSocket - sdk_relay
## Configuration actuelle
### Variables d'environnement
- `WS_BIND_URL` : URL de binding WebSocket (défaut: `0.0.0.0:8090`)
- `HEALTH_PORT` : Port du serveur de santé (défaut: `8091`)
- `HEALTH_BIND_ADDRESS` : Adresse de binding du serveur de santé (défaut: `0.0.0.0`)
### Configuration dans sdk_relay.conf
```ini
ws_url="0.0.0.0:8090"
blindbit_url="http://blindbit-oracle:8000"
bootstrap_url="wss://dev3.4nkweb.com/ws/"
bootstrap_faucet=true
sp_address="tsp1qqgmwp9n5p9ujhq2j6cfqe4jpkyu70jh9rgj0pwt3ndezk2mrlvw6jqew8fhsulewzglfr7g2aa48wyj4n0r7yasa3fm666vda8984ke8tuaf9m89"
RUST_LOG="INFO"
```
## Problèmes résolus
### 1. Binding sur 127.0.0.1 au lieu de 0.0.0.0
**Problème :** Le relay se liait sur `127.0.0.1:8090` au lieu de `0.0.0.0:8090`.
**Solution :** Externalisation de la configuration via variables d'environnement et correction du code Rust.
### 2. Gestion des erreurs WebSocket
**Problème :** Erreurs de handshake WebSocket non gérées correctement.
**Solution :** Amélioration de la gestion d'erreurs avec `log::warn!` au lieu de `log::error!` pour les tentatives de connexion non-WebSocket.
### 3. Configuration externalisée
**Problème :** IP et ports hardcodés dans le code Rust.
**Solution :** Externalisation de tous les paramètres de configuration via variables d'environnement.
## Tests WebSocket
### Test avec headers corrects
```bash
curl -v -H "Upgrade: websocket" \
-H "Connection: upgrade" \
-H "Sec-WebSocket-Version: 13" \
-H "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==" \
http://127.0.0.1:8090/
```
**Résultat attendu :** `HTTP/1.1 101 Switching Protocols`
### Test sans headers WebSocket
```bash
curl -v http://127.0.0.1:8090/
```
**Résultat attendu :** Erreur de handshake WebSocket (normal)
## Problème persistant
### Nginx ne transmet pas les headers WebSocket
**Statut :** ⚠️ Problème persistant
- Nginx configuré avec tous les headers WebSocket
- Le relay reçoit toujours des connexions sans headers
- Erreur : `"No Upgrade: websocket header"`
**Investigation :** La configuration Nginx semble correcte mais les headers ne sont pas transmis.
## Date de mise à jour
2025-01-20 - Configuration WebSocket externalisée et problèmes de binding résolus