lecoffre_node/docs/CORRECTIONS_WEBSOCKET.md
Nicolas Cantu 1743766137 docs: Documentation WebSocket et configuration du signer
- 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é
2025-09-20 22:14:51 +00:00

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() 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