frontend/nginx.conf
Rama main · réplica de lectura del repositorio original.
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.html;
# Els escàners automatitzats demanen milers de paths de WordPress/PHP que
# aquí no existeixen. Amb el `try_files` de sota rebien l'index.html del SPA
# amb codi 200, cosa que interpreten com "el fitxer hi és" i els fa insistir.
# Retornant 404 marxen abans.
location ~* \.(php|php[0-9]?|phtml|asp|aspx|jsp|cgi|pl|py|sh|bak|old|sql|swp|tar|gz|zip)$ {
return 404;
}
# Fitxers ocults (.env, .git/, .htaccess...). S'exclou /.well-known, que és
# legítim (ACME i altres) encara que normalment el resolgui el proxy de davant.
location ~ /\.(?!well-known) {
return 404;
}
# Proxy a backend per a ús sense Caddy (Docker local).
# Quan hi ha Caddy davant, /api/ no arriba mai aquí: Caddy ja l'enruta abans.
location /api/ {
proxy_pass http://backend:8000;
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;
}
location / {
try_files $uri $uri/ /index.html;
}
}