Files
MileVault/frontend/nginx-spa.conf
T
owain 385443522b
Build and push images / validate (push) Successful in 3s
Build and push images / build-backend (push) Successful in 6s
Build and push images / build-worker (push) Successful in 5s
Build and push images / build-frontend (push) Successful in 10s
frontend nginx: no-cache on index.html so deploys aren't masked by stale SPA shell (Edge heuristic caching)
2026-06-18 12:00:58 +01:00

23 lines
691 B
Plaintext

server {
listen 80;
root /usr/share/nginx/html;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
# Never let the browser serve a stale SPA shell: it references hashed asset
# filenames, so a cached index.html strands users on an old build after a
# deploy (Edge heuristically caches it when no Cache-Control is set). Force
# revalidation — a cheap 304 when unchanged — so new deploys are picked up.
location = /index.html {
add_header Cache-Control "no-cache";
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}