From 69adc6d91067c24874166a571c52f4b9e81fd1fa Mon Sep 17 00:00:00 2001 From: Scarriffle Date: Fri, 31 Jul 2026 09:59:32 +0200 Subject: [PATCH] Web/nginx: index.html nicht cachen, gehashte Assets dauerhaft Ohne Cache-Header cachte der Browser die alte index.html -> neue Deploys (neue Asset-Hashes) kamen nie an, obwohl der Code laengst stimmte. Jetzt: index.html Cache-Control:no-cache (immer revalidieren), gehashte JS/CSS/Bilder immutable + 1 Jahr. Deploys sind damit sofort sichtbar. Co-Authored-By: Claude Opus 4.8 --- web/nginx.conf | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/web/nginx.conf b/web/nginx.conf index 7fff941..4cf81f3 100644 --- a/web/nginx.conf +++ b/web/nginx.conf @@ -17,9 +17,21 @@ server { return 200 '{"applinks":{"details":[{"appIDs":["PP34X97WS3.com.scarriffle.vorrania"],"components":[{"/":"/i/*"}]}]}}'; } - # SPA-Routing: unbekannte Pfade auf index.html mappen + # Gehashte Assets (index-.js/.css, Bilder, Schriften): der Dateiname + # aendert sich bei jedem Build, wenn sich der Inhalt aendert -> unveraenderlich, + # deshalb aggressiv cachen. + location ~* \.(?:js|css|woff2?|ttf|eot|png|jpe?g|gif|svg|ico|webp)$ { + try_files $uri =404; + expires 1y; + add_header Cache-Control "public, immutable"; + } + + # SPA-Routing: unbekannte Pfade auf index.html mappen. index.html selbst darf + # NICHT gecacht werden - sonst laedt der Browser nach einem Deploy weiter die + # alte Seite mit den alten Asset-Verweisen, und Aenderungen kommen nie an. location / { try_files $uri $uri/ /index.html; + add_header Cache-Control "no-cache"; } # API an das Backend weiterleiten (Service-Name "backend" aus docker-compose)