# 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