- 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é
62 lines
2.4 KiB
Markdown
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 |