fix(nginx-152): корень редиректит на активную сборку — закрыта кэш-мина (ассеты Unity зовутся относительным путём)
- index.html: buildUrl="Build" -> без редиректа ассеты шли как /Build/WebGL.wasm (без номера сборки) под immutable 7д -> браузер неделю отдавал старую сборку - publish-release.sh --activate пишет /etc/nginx/game-active.inc: return 302 /<N>/ - immutable сужен до путей с номером сборки; остальное no-store - приёмка: / -> 302 /29/, браузер тянет /29/Build/* (все 200), autoclose-check 9/9, testfront цел - сборка 29 (fix webgl: дым падения и PC URP) опубликована на nginx
This commit is contained in:
@@ -49,8 +49,16 @@ cd ~/WORK/games/pump-game-ops && BASE=https://smart-updown.binom.pw/api \
|
||||
относительным путём (`Build/WebGL.loader.js`), поэтому без слэша `Build/...` уедет в корень → 404.
|
||||
- **`skopeo ... dir:` пишет OCI-манифест**, где `layers` — словари. `unpack-release.sh` берёт
|
||||
`digest` каждого слоя и распаковывает по имени файла `<hex>` (не `sha256:...`).
|
||||
- **Кэш больше не прилипает между релизами**: URL содержит номер сборки → `immutable` корректен.
|
||||
Внутри версии каталог не перезаписывается, поэтому ассеты действительно неизменяемы.
|
||||
- **Корень — 302 на активную сборку** (`location = / { return 302 /<N>/; }` в
|
||||
`/etc/nginx/game-active.inc`, пишет `publish-release.sh --activate`). Нужен потому, что
|
||||
`index.html` Unity зовёт ассеты **относительным** путём (`buildUrl = "Build"`): без редиректа они
|
||||
запрашивались бы как `/Build/WebGL.wasm` — без номера сборки, а такой URL между релизами НЕ
|
||||
меняется → `immutable` заставлял браузер неделю отдавать старый билд. С редиректом путь становится
|
||||
`/29/Build/…` и кэш корректен.
|
||||
- **`immutable` только для путей с номером сборки** (`~^/[0-9]+/…`). Всё остальное, включая
|
||||
неверсионированные ассеты, — `no-store` (страховка от отравления кэша).
|
||||
- ⚠️ Если правишь `game.nginx.conf` — не забудь `include /etc/nginx/game-active.inc;`, иначе корень
|
||||
снова начнёт раздавать файлы напрямую и мина вернётся.
|
||||
- **Сборки копятся** (~68 МБ на версию) — ретеншен пока ручной, см. `TASKS.md`.
|
||||
- **Откат схемы целиком**: вернуть `/opt/traefik/static/smart-updown.yaml` из
|
||||
`/root/bak-smart-updown-nginx-2026-09-15/` на VDS — домен снова пойдёт целиком в куб.
|
||||
|
||||
Reference in New Issue
Block a user