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

62 lines
2.4 KiB
Markdown

# 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