fix(docs/nginx): убрать try_files в unhashed fallback — alias bug

nginx с `alias` имеет известный bug: `try_files $uri` резолвит $uri от
document root, не от alias path. Для hashed assets (первое regex location)
try_files уже был убран ранее, но оставался в fallback unhashed location —
из-за этого `/docs/_assets/tabs-extension.js` (и .css) валились в 404
несмотря на наличие файлов в /usr/share/nginx/html/_assets/.

Теперь fallback просто alias'ит без try_files. Если файла нет — nginx сам
отдаст 404 от open() failure (нормальное поведение).
This commit is contained in:
Zimin A.N.
2026-05-08 09:22:15 +03:00
parent c24dec6a1f
commit b96aad049f
+4 -2
View File
@@ -35,12 +35,14 @@ server {
expires 1y; expires 1y;
add_header Cache-Control "public, immutable"; add_header Cache-Control "public, immutable";
} }
# Non-hashed assets (fallback). # Non-hashed assets (fallback). НЕ добавлять `try_files $uri =404` —
# nginx bug: с `alias` $uri резолвится по document root, а не по alias path,
# → ложные 404 на легитимные файлы (tabs-extension.js падает в эту дыру).
# Если файла нет — alias сам отдаст 404 от open() failure.
location ~* ^/docs/((_bundle|_assets)/.*\.(css|js|woff2?|ttf|eot|svg|png|jpg|jpeg|ico|map|json))$ { location ~* ^/docs/((_bundle|_assets)/.*\.(css|js|woff2?|ttf|eot|svg|png|jpg|jpeg|ico|map|json))$ {
alias /usr/share/nginx/html/$1; alias /usr/share/nginx/html/$1;
expires 1y; expires 1y;
add_header Cache-Control "public, immutable"; add_header Cache-Control "public, immutable";
try_files $uri =404;
} }
# Documentation pages (HTML). # Documentation pages (HTML).