Files
RoadTripsGenerator/exemples/nginx-admin.conf
T

33 lines
1.8 KiB
Plaintext

# 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).
# « ^~ » : sinon une règle du type « location ~* \.(js|css|png)$ » déjà
# présente dans nginx.conf prendrait les fichiers de l'interface pour ceux du site.
location ^~ /admin/ {
# RTG dans le conteneur « rtg » (exemples/docker-compose.yml). Passer par
# une variable laisse nginx démarrer même si ce conteneur est arrêté.
resolver 127.0.0.11 valid=30s;
set $rtg http://rtg:8765;
proxy_pass $rtg;
# RTG lancé à la main sur le Mac à la place : remplacer les trois lignes
# ci-dessus par « 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;
# Conteneur RTG arrêté : une page claire plutôt qu'une erreur 502.
error_page 502 504 = @admin_fermee;
}
location @admin_fermee {
default_type "text/html; charset=utf-8";
add_header Cache-Control no-store always;
return 503 "<!doctype html><html lang=fr><meta charset=utf-8><meta name=viewport content='width=device-width'><title>Administration fermée</title><body style='font-family:-apple-system,sans-serif;text-align:center;margin-top:18vh;color:#444'><h1>Administration fermée</h1><p>Elle n'est ouverte que pendant les mises à jour du site.</p><p><a href='/'>Retour au site</a></p></body></html>";
}
# Réglages de RTG : inutile de les publier.
location ~ \.toml$ { deny all; }