server { listen 80; server_name _; root /usr/share/nginx/html; index index.html; # Anti-indexation : en-tête ajouté à TOUTES les réponses servies par nginx. # Combiné à la balise et au robots.txt, et au login applicatif. add_header X-Robots-Tag "noindex, nofollow, noarchive, nosnippet" always; # robots.txt explicite (présent dans les assets, mais on garde la cohérence). location = /robots.txt { add_header X-Robots-Tag "noindex, nofollow" always; try_files $uri =404; } # SPA Angular : toute route inconnue retombe sur index.html location / { try_files $uri $uri/ /index.html; } # Reverse-proxy des appels API vers le backend Node (réseau interne Compose) location /api/ { proxy_pass http://backend:8080; 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; } # Sonde de santé exposée via nginx -> backend (utilisée par Caddy et le compose). location = /health { proxy_pass http://backend:8080/health; } }