fix: index.html с no-store, хешированные ассеты кешируются надолго
Браузеры залипали на старом index.html (эвристический кеш без Cache-Control), из-за чего не подхватывали новый билд. Теперь index.html — no-store, а ассеты с хешем в имени — immutable на год. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -5,16 +5,21 @@ server {
|
|||||||
|
|
||||||
# Named location — отдаёт React SPA без повторной маршрутизации
|
# Named location — отдаёт React SPA без повторной маршрутизации
|
||||||
location @spa {
|
location @spa {
|
||||||
|
add_header Cache-Control "no-store, must-revalidate";
|
||||||
try_files /index.html =404;
|
try_files /index.html =404;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Корневая страница
|
# Корневая страница — index.html никогда не кешируем, чтобы всегда грузился
|
||||||
|
# актуальный билд (ассеты внутри — с хешами в имени)
|
||||||
location = / {
|
location = / {
|
||||||
|
add_header Cache-Control "no-store, must-revalidate";
|
||||||
try_files /index.html =404;
|
try_files /index.html =404;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Статические ассеты приложения (JS, CSS, шрифты, картинки)
|
# Статические ассеты приложения (JS, CSS, шрифты, картинки) — имена с хешем,
|
||||||
|
# можно кешировать надолго
|
||||||
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot|json|map)$ {
|
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot|json|map)$ {
|
||||||
|
add_header Cache-Control "public, max-age=31536000, immutable";
|
||||||
try_files $uri =404;
|
try_files $uri =404;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user