- Ajout de docs/CORRECTIONS_WEBSOCKET.md avec analyse complète - Configuration du signer avec variables d'environnement - Headers WebSocket Nginx explicites - Analyse de l'architecture de l'iframe - Problème persistant 502 Bad Gateway documenté
2.4 KiB
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
:
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
:
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()
dansrouter.ts
initialise les servicesServices.getInstance()
crée l'instance singletonconnectAllRelays()
é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