You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/installation/architecture-de-securite.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -73,7 +73,7 @@ Mettez vos certificats dans ./certificates
73
73
## Serveur orchestrator (Méthode par reverse proxy)
74
74
75
75
::: tip Configuration WebSocket (Socket.IO)
76
-
Le frontal d'administration utilise Socket.IO sur `/api/socket.io` (temps réel : jobs, backends, cron). Le reverse-proxy doit supporter l'upgrade WebSocket et router**tout** le trafic vers le port Nuxt (`3000`), pas vers l'API (`4000`). Voir le guide détaillé : [Reverse-proxy — orchestrator](./reverse-proxy-orchestrator.md).
76
+
Le frontal d'administration utilise Socket.IO sur `/api/socket.io` (temps réel : jobs, backends, cron). Le reverse-proxy Nginx doit inclure `proxy_http_version 1.1`, `Upgrade`et `Connection`**dans** le bloc `location /` qui pointe vers Nuxt (`3000`), pas vers l'API (`4000`). Sans cela : `WebSocket connection to 'wss://…/api/socket.io/…' failed`. Guide détaillé : [Reverse-proxy — orchestrator](./reverse-proxy-orchestrator.md).
77
77
:::
78
78
79
79
Un script est disponible pour l installation du reverse sur la machine docker hébergant l'orchestrator et le frontal de d'administration
Sur l'hôte (sans réseau Docker `reverse`), remplacer l'upstream par `http://127.0.0.1:3000` ou le port publié (ex. `3002`).
100
+
Sur l'hôte (sans réseau Docker `reverse`), remplacer `http://sesame-orchestrator:3000` par `http://127.0.0.1:3000` ou le port publié (ex. `3002`).
93
101
94
-
### Variante minimale
102
+
Après modification :
95
103
96
-
Équivalent des trois directives WebSocket courantes :
104
+
```bash
105
+
nginx -t && nginx -s reload
106
+
```
107
+
108
+
### Erreurs fréquentes
109
+
110
+
::: danger Configuration incomplète
111
+
Sans `proxy_http_version 1.1` et les en-têtes `Upgrade` / `Connection`**à l'intérieur** du bloc `location /`, la console affiche :
112
+
113
+
`WebSocket connection to 'wss://…/api/socket.io/…' failed`
114
+
:::
115
+
116
+
| Piège | Conséquence | Correction |
117
+
| --- | --- | --- |
118
+
|`proxy_set_header`**en dehors** de `location /`| En-têtes non appliqués au proxy | Tout regrouper dans `location /`|
119
+
| Pas de directives WebSocket | Échec WS, repli polling ou erreurs répétées | Ajouter `proxy_http_version 1.1`, `Upgrade`, `Connection`|
120
+
| Vhost `listen 4000` vers l'API | Exposition inutile, routage confus | Un seul point d'entrée : `443` → Nuxt `:3000`|
121
+
|`proxy_pass` vers le port `4000`| Socket.IO et auth IP cassés | Cibler `sesame-orchestrator:3000` uniquement |
122
+
123
+
### Variante minimale
97
124
98
125
```nginx
99
126
location / {
@@ -112,7 +139,7 @@ location / {
112
139
| --- | --- |
113
140
|`proxy_http_version 1.1`| Requis pour l'upgrade WebSocket |
114
141
|`proxy_set_header Upgrade $http_upgrade`| Transmet la demande d'upgrade du navigateur |
115
-
|`proxy_set_header Connection "upgrade"`| Maintient le tunnel WebSocket vers Nuxt |
142
+
|`proxy_set_header Connection $connection_upgrade`| Maintient le tunnel WebSocket vers Nuxt |
116
143
117
144
---
118
145
@@ -189,7 +216,23 @@ Après mise en place :
189
216
190
217
| Symptôme | Cause probable | Action |
191
218
| --- | --- | --- |
219
+
|`WebSocket connection to 'wss://…/api/socket.io/…' failed`| Directives WS absentes ou hors `location`| Voir [Erreurs fréquentes](#erreurs-fréquentes)|
192
220
|`Invalid frame header` (console navigateur) | Upgrade WebSocket non proxifié | Vérifier les directives WS ci-dessus |
193
221
| Socket.IO reste en `polling` uniquement | Reverse-proxy sans support WS, ou `NUXT_PUBLIC_SOCKET_IO_POLLING_ONLY=true`| Corriger la config proxy / variables d'env |
194
-
| Auth « IP non autorisée » avec `127.0.0.1`|`SESAME_TRUST_PROXY=0` ou en-têtes `X-Forwarded-For` absents | Activer `SESAME_TRUST_PROXY=1` et transmettre les en-têtes IP |
195
-
| Fonctionne en local, échoue derrière le proxy | Config WebSocket manquante sur Nginx/Apache | Appliquer ce guide |
222
+
| Auth « IP non autorisée » avec `127.0.0.1`|`SESAME_TRUST_PROXY=0` ou en-têtes `X-Forwarded-For` absents | Activer `SESAME_TRUST_PROXY=1` et transmettre les en-têtes IP dans `location /`|
223
+
| Fonctionne en local, échoue derrière le proxy | Config WebSocket manquante sur Nginx/Apache | Appliquer l'exemple complet ci-dessus |
0 commit comments