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

2.2 KiB

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

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

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

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