68 lines
2.2 KiB
Markdown
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 |