# Corrections WebSocket - lecoffre_node ## Problèmes identifiés et résolus ### 1. Configuration du signer (sdk_signer) **Problème :** Le signer essayait de se connecter au relay sur `127.0.0.1:8090` au lieu d'utiliser les URLs configurées. **Solution :** Ajout des variables d'environnement manquantes dans `docker-compose.yml` : ```yaml sdk_signer: environment: - SIGNER_WS_URL=ws://dev3.4nkweb.com:9090 - SIGNER_BASE_URL=https://dev3.4nkweb.com - RELAY_URLS=wss://dev4.4nkweb.com/ws/,wss://dev3.4nkweb.com/ws/ ``` **Résultat :** Le signer fonctionne maintenant correctement et se connecte aux bons endpoints. ### 2. Configuration Nginx pour WebSockets **Problème :** Nginx ne transmettait pas correctement les headers WebSocket vers le relay. **Solution :** Ajout des headers WebSocket explicites dans `/conf/nginx/dev4.4nkweb.com.conf` : ```nginx location /ws/ { proxy_pass http://127.0.0.1:8090/; proxy_set_header Sec-WebSocket-Key $http_sec_websocket_key; proxy_set_header Sec-WebSocket-Version $http_sec_websocket_version; proxy_set_header Sec-WebSocket-Protocol $http_sec_websocket_protocol; proxy_set_header Sec-WebSocket-Extensions $http_sec_websocket_extensions; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # ... autres headers } ``` ### 3. Logique de fonctionnement de l'iframe **Analyse :** Structure de l'iframe `ihm_client` identifiée : - `init()` dans `router.ts` initialise les services - `Services.getInstance()` crée l'instance singleton - `connectAllRelays()` établit les connexions WebSocket - Configuration WebSocket : `wss://dev4.4nkweb.com/ws/` ### 4. Vérification des appels WebSocket **Confirmé :** Tous les appels WebSocket sont correctement dirigés vers des services WebSocket : - `/ws/` → `sdk_relay:8090` (WebSocket) ✅ - `/signer/` → `sdk_signer:3001` (WebSocket) ✅ - `/lecoffre/` → `lecoffre-front:3004` (HTTP) ✅ ## Problème persistant ### Nginx WebSocket Headers **Statut :** ⚠️ Problème persistant - Nginx ne transmet toujours pas les headers WebSocket vers le relay - 502 Bad Gateway depuis l'iframe - Le relay rejette les connexions sans headers - Erreur : `"No Upgrade: websocket header"` **Prochaines étapes :** Investigation plus approfondie de la configuration Nginx ou utilisation d'un proxy WebSocket dédié. ## Date de mise à jour 2025-01-20 - Corrections WebSocket et configuration du signer