From e586342b19ecc7293e49038c2203d278bb17fc16 Mon Sep 17 00:00:00 2001 From: InfinityPacer <160988576+InfinityPacer@users.noreply.github.com> Date: Fri, 19 Jun 2026 18:52:23 +0800 Subject: [PATCH] fix(pwa): prevent stale service worker caching (#498) --- public/nginx.conf | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/public/nginx.conf b/public/nginx.conf index 886f0681..c96a4ef6 100644 --- a/public/nginx.conf +++ b/public/nginx.conf @@ -35,6 +35,23 @@ http { try_files $uri $uri/ /index.html; } + location = /service-worker.js { + # Service Worker 必须保持稳定 URL 并每次重新验证,避免前端更新后继续注册旧版本。 + expires off; + add_header Cache-Control "no-cache, must-revalidate"; + root html; + try_files $uri =404; + } + + location = /manifest.webmanifest { + # Web App Manifest 参与 PWA 安装与资源发现,不能跟普通静态资源一起长缓存。 + expires off; + default_type application/manifest+json; + add_header Cache-Control "no-cache, must-revalidate"; + root html; + try_files $uri =404; + } + location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { # 静态资源 expires 1y; @@ -44,8 +61,7 @@ http { location /assets { # 静态资源 - expires 1y; - add_header Cache-Control "public"; + add_header Cache-Control "public, max-age=31536000, immutable"; root html; }