docs: sonnet analysis + critique; sync nginx conf with VM (301)
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# 2026-09-02 — Анализ Соннета по tf_docs + критическое мнение
|
||||
|
||||
## Вопрос (что отдавали Соннету)
|
||||
|
||||
Анализ финальной архитектуры отдачи MkDocs-документации через «вечный» бесплатный
|
||||
домен `tf-docs.nodejsk8s.dev.nubes.ru`: браузер → под nodejsk8s (reverse-proxy) →
|
||||
ВМ 5.172.178.213 (nginx/статика). Просили: правильна ли схема, можно ли ускорить
|
||||
международный маршрут без платных доменов, скрытые риски.
|
||||
|
||||
## Ответ Соннета (суть)
|
||||
|
||||
1. Архитектура верна, но есть **конфигурационный дрейф**: в репо
|
||||
`deploy-vm/nginx-ip-5.172.178.213.conf` всё ещё `location / { proxy_pass
|
||||
http://127.0.0.1:8888/; }` (на остановленный llmui), хотя на ВМ уже `return 301`.
|
||||
2. Обрывы ~16–36 КБ — похожи на инцидент tf_registry (там виноват локальный
|
||||
прокси), но у нас Германия без прокси тоже режет + ВМ напрямую режет → маршрут
|
||||
в РФ фильтруется на границе. Предложил **включить gzip**, чтобы «сжать страницу
|
||||
ниже порога обрыва».
|
||||
3. Риски: SPOF на ВМ, ВМ не выделенный хост, `location /` открыт по IP, timeout
|
||||
30с (idle), TLS только на ingress.
|
||||
|
||||
## Моё критическое мнение
|
||||
|
||||
**Главное: рекомендация gzip — ошибочна.** Порог обрыва — СЕТЕВОЙ (~16.7 КБ), а не
|
||||
«по объёму контента». Доказательство из замеров этой же сессии:
|
||||
|
||||
- файл `.test_20k.bin` (ровно 20000 байт) обрывается на 16775 байт;
|
||||
- файлы 50/100/200 КБ — тоже ровно на 16773–16775;
|
||||
- favicon 1017 байт — проходит полностью.
|
||||
|
||||
То есть обрыв наступает на ~16.7 КБ **независимо от content-length**. Сжать HTML
|
||||
133 КБ gzip до <16.7 КБ нереально (текст жмётся до ~25–40 КБ) — ответ всё равно
|
||||
упрётся в сетевой порог. gzip меняет размер контента, но не лимит маршрута. Гипотеза
|
||||
«сжать ниже порога» не сработает. Вывод: для страниц 133–200 КБ gzip проблему не
|
||||
решает.
|
||||
|
||||
**Остальные пункты** — валидные, но в основном уже известные/принятые trade-off'ы:
|
||||
- дрейф 8888 в репо — подтверждён, реальный риск при повторном применении файла из
|
||||
git (файл стоит синхронизировать с ВМ);
|
||||
- SPOF на ВМ, timeout 30с, TLS-только-ingress — верно, но «ВМ-буфер» и есть
|
||||
осознанное решение (весь код на ВМ);
|
||||
- «location / открыт по IP» — натянуто: ВМ и так публична по IP, новой дыры нет.
|
||||
|
||||
**Итог:** анализ полезен, но ключевая рекомендация (gzip) технически неверна;
|
||||
реально ценное — пункт про дрейф 8888 (нужно синхронизировать файл в репо).
|
||||
|
||||
## Статус
|
||||
|
||||
- Дрейф `deploy-vm/nginx-ip-5.172.178.213.conf` (8888) — ИСПРАВЛЕН: файл синхронизирован
|
||||
с ВМ (`return 301 /nubes-test/` + `absolute_redirect off`). Файл gitignored, в git не
|
||||
входит — риск «применения из git» не подтвердился, это локальная справочная копия.
|
||||
- gzip — НЕ делать (не решает).
|
||||
- Range-проброс в `server.js` — НЕ делать (для MkDocs-статики не критично).
|
||||
Reference in New Issue
Block a user