From 2c2530a3dcffd6375815bf7c1192c99fb0c715b5 Mon Sep 17 00:00:00 2001 From: Fabrice Date: Fri, 9 Oct 2026 15:22:36 +0000 Subject: [PATCH] Exemple nginx : /admin vers RTG quand Traefik sert le site par un conteneur nginx Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Mf2kATMtqVABHSYdxJMnim --- README.md | 3 ++- exemples/nginx-admin.conf | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 exemples/nginx-admin.conf diff --git a/README.md b/README.md index 3440186..01ef815 100644 --- a/README.md +++ b/README.md @@ -157,7 +157,8 @@ Pour administrer le site depuis son adresse publique (bouton « Connexion » en ``` Elle n'écoute que sur 127.0.0.1 : seul le serveur web peut la joindre. Le mot de passe est obligatoire. 3. Transmettre `/admin/` à l'interface depuis le serveur web. - - Traefik : copier `exemples/traefik-rtg-admin.yml` dans le dossier de configuration dynamique de Traefik, en y mettant les mêmes `entryPoints` et `certResolver` que pour le site. Le fichier indique l'adresse à mettre selon que Traefik tourne dans Docker sur le Mac, directement sur le Mac, ou sur une autre machine (dans ce dernier cas, lancer RTG avec `--ecoute 0.0.0.0` en plus). + - Traefik qui envoie le site à un conteneur nginx (docker compose) : rien à changer dans Traefik. Ajouter le bloc de `exemples/nginx-admin.conf` dans le `nginx.conf` du conteneur, et `extra_hosts: ["host.docker.internal:host-gateway"]` au service dans `docker-compose.yml`, puis `docker compose up -d`. + - Traefik seul (fichier de configuration dynamique) : copier `exemples/traefik-rtg-admin.yml` dans le dossier de configuration dynamique de Traefik, en y mettant les mêmes `entryPoints` et `certResolver` que pour le site. Le fichier indique l'adresse à mettre selon que Traefik tourne dans Docker sur le Mac, directement sur le Mac, ou sur une autre machine (dans ce dernier cas, lancer RTG avec `--ecoute 0.0.0.0` en plus). - nginx, dans le bloc `server` du site en HTTPS : ```nginx location /admin/ { diff --git a/exemples/nginx-admin.conf b/exemples/nginx-admin.conf new file mode 100644 index 0000000..7a3b7a6 --- /dev/null +++ b/exemples/nginx-admin.conf @@ -0,0 +1,20 @@ +# Bloc à ajouter dans nginx.conf, à l'intérieur de « server { … } », quand le +# site est servi par un conteneur nginx derrière Traefik (Traefik → nginx → RTG). +# RTG tourne sur le Mac : rtg interface --proxy --prefixe /admin +# +# Dans docker-compose.yml, sous le service nginx, ajouter aussi : +# extra_hosts: +# - "host.docker.internal:host-gateway" + + location /admin/ { + proxy_pass http://host.docker.internal:8765; + proxy_set_header Host $host; + # Traefik a déjà noté l'adresse du visiteur et le https : on les transmet tels quels. + proxy_set_header X-Forwarded-For $http_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; + proxy_buffering off; + proxy_read_timeout 300s; + } + + # Réglages de RTG : inutile de les publier. + location ~ \.toml$ { deny all; }