diff --git a/docs/CORRECTIONS_WEBSOCKET.md b/docs/CORRECTIONS_WEBSOCKET.md new file mode 100644 index 0000000..47f20c1 --- /dev/null +++ b/docs/CORRECTIONS_WEBSOCKET.md @@ -0,0 +1,34 @@ +# Corrections WebSocket - LeCoffre Node + +## Problème identifié +L'iframe `ihm_client` était bloquée sur "Chargement de l'authentification..." car la connexion WebSocket échouait. + +## Cause racine +- Nginx était configuré pour pointer vers `127.0.0.1:8090` +- Le relay `sdk_relay` écoute sur `0.0.0.0:8090` dans le réseau Docker +- Les requêtes HTTP simples étaient rejetées (erreur "Unsupported HTTP method") + +## Solution appliquée +1. **Configuration Nginx corrigée** : `proxy_pass http://127.0.0.1:8090/` +2. **Headers WebSocket requis** : + - `Upgrade: websocket` + - `Connection: upgrade` + - `Sec-WebSocket-Version: 13` + - `Sec-WebSocket-Key: [base64-encoded-key]` + +## Test de validation +```bash +curl -v -H "Upgrade: websocket" -H "Connection: upgrade" \ + -H "Sec-WebSocket-Version: 13" \ + -H "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==" \ + https://dev4.4nkweb.com/ws/ +``` + +Résultat attendu : `HTTP/1.1 101 Switching Protocols` + +## Configuration durable +- Utilisation du port mappé `127.0.0.1:8090` (stable) +- Éviter les IPs de containers (changent à chaque redémarrage) + +## Date +2025-09-20