Files
RoadTripsGenerator/exemples/nginx-admin.conf
T

34 lines
1.9 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).
# Si RTG ne tourne pas, /admin/ affiche « Administration fermée ».
# « ^~ » : 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 lancé sur le Mac par admin.sh (extra_hosts
# « host.docker.internal:host-gateway » dans le compose).
proxy_pass http://host.docker.internal:8765;
# Variante, RTG dans un conteneur « rtg » (docker-compose-conteneur.yml) :
# resolver 127.0.0.11 valid=30s; set $rtg http://rtg:8765; proxy_pass $rtg;
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;
# Administration fermée : 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; }
# Fichiers cachés (.git, .gitignore, .DS_Store) : jamais publiés.
location ~ /\. { deny all; }