From b598068518de619aa0b6a58cc566fde9ec6a6b6c Mon Sep 17 00:00:00 2001 From: Nicolas Cantu Date: Thu, 18 Sep 2025 07:21:09 +0000 Subject: [PATCH] ci: docker_tag=dev-test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nginx dev4: priorité /back/ et ajout alias /api/ en HTTPS Docs: récap routage dev4 Tests: ajout scénarios /back/v1/health et /lecoffre --- conf/nginx/dev4.4nkweb.com-https.conf | 21 ++++++++++++++++++++ docs/ROUTAGE_API.md | 11 +++++++++++ tests/api_routing.md | 28 +++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) diff --git a/conf/nginx/dev4.4nkweb.com-https.conf b/conf/nginx/dev4.4nkweb.com-https.conf index c375edc..8461656 100644 --- a/conf/nginx/dev4.4nkweb.com-https.conf +++ b/conf/nginx/dev4.4nkweb.com-https.conf @@ -5,6 +5,27 @@ server { ssl_certificate_key /etc/letsencrypt/live/dev4.4nkweb.com/privkey.pem; include /etc/nginx/proxy_params; + # API backend - route /back/ vers /api/ du backend + location ~* ^/back/(.*)$ { + proxy_pass http://127.0.0.1:8080/api/$1; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header Connection ""; + proxy_buffering off; + } + + # API direct - route /api/ vers le backend + location /api/ { + proxy_pass http://127.0.0.1:8080/api/; + include /etc/nginx/proxy_params; + proxy_read_timeout 300; + proxy_connect_timeout 300; + proxy_send_timeout 300; + } + # Root → ihm_client location / { proxy_pass http://127.0.0.1:3003; diff --git a/docs/ROUTAGE_API.md b/docs/ROUTAGE_API.md index 31fa191..692427e 100644 --- a/docs/ROUTAGE_API.md +++ b/docs/ROUTAGE_API.md @@ -49,6 +49,17 @@ - Vérifier que les endpoints répondent correctement via le domaine: `/back/health`, `/storage/health`, etc. - Contrôler l’absence d’erreurs Nginx et la non-présence de CORS dans la console. +### Récapitulatif de routage dev4 + +- `https://dev4.4nkweb.com/lecoffre` → proxy vers `lecoffre-front` (port 3004, conteneur 3000) +- `https://dev4.4nkweb.com/back/*` → proxy vers `http://127.0.0.1:8080/api/*` (backend mini) +- `https://dev4.4nkweb.com/api/*` → (alias optionnel) proxy vers `http://127.0.0.1:8080/api/*` +- `https://dev4.4nkweb.com/signer/*` → proxy WebSocket/HTTP vers `http://127.0.0.1:3001/` + +Notes d’implémentation: +- Les blocs `location /back/` et `location /api/` sont positionnés avant le `location /` afin d’éviter que le root (ihm_client) prenne la priorité. +- Les en-têtes `X-Forwarded-*` sont ajoutés. `proxy_buffering off` pour `/back/` empêche des effets indésirables côté streams SSE/WebSocket. + ### Procédure de changement (sur validation) 1. Ajouter `location /api/` vers `127.0.0.1:8080/` dans `conf/nginx/dev4.4nkweb.com.conf` juste après le bloc `/back/`. diff --git a/tests/api_routing.md b/tests/api_routing.md index 917d410..14e5669 100644 --- a/tests/api_routing.md +++ b/tests/api_routing.md @@ -1,3 +1,31 @@ +### Tests de routage API et front (dev4) + +Pré-requis: Nginx rechargé et services Docker démarrés. + +1) Santé backend via Nginx (HTTP) + +Commande: + + curl -sS -D - http://127.0.0.1/back/v1/health -o /dev/null | sed -n '1,10p' + +Attendu: `HTTP/1.1 200` (ou `302` selon auth), jamais du HTML de front. + +2) Santé backend via Nginx (HTTPS) + +Commande: + + curl -sS -D - https://dev4.4nkweb.com/back/v1/health -o /dev/null | sed -n '1,10p' + +Attendu: `HTTP/2 200`. + +3) Front `/lecoffre` (HTTPS) + +Commande: + + curl -sS -D - https://dev4.4nkweb.com/lecoffre/ -o /dev/null | sed -n '1,10p' + +Attendu: `HTTP/2 200` et pas de 301/302 en boucle. + ### Plan de tests — routage API via Nginx #### Pré-requis