Files
admin/.tasks/NEXT_SESSION.md
vitya 2811b5a180 fix(iis-migration): maljarka.tandemmebel.ru 502-on-HTTPS resolved
Root cause (NOT a migration defect): MoreThenCms tenant `maljarka`
had `dbo.Sites.SettingsData = NULL` (no `httpSecure` block) -> on a
real HTTPS request SnollaMiddleware throws KeyNotFoundException ->
502. HTTP served 200 fine. DNS/TLS/IIS binding all correct.

Fix applied to shared MSSQL (mssql.kzntsv.site): UPDATE Sites set
SettingsData with httpSecure{enableHttps:true,...} + recycle snolla
pool. Verified 443->200 server-local and external via 80.64.31.36;
kupimknigi untouched. Audit: maljarka was the only NULL-settings
site with a :443 binding (of 25); rimiz degraded for another reason.

- new concept: morethencms-null-settingsdata-https-502
- entities/ruvds-iis-host: maljarka moved from Degraded -> fixed
- index.md + log.md + STATUS.md + NEXT_SESSION.md updated

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 15:15:12 +03:00

3.6 KiB
Raw Blame History

_last_updated_, session_id
_last_updated_ session_id
2026-06-05T02:00:00+03:00 2026-06-05-iis-cutover-and-winacme-renewal

Next session handoff

Сессия: (1) full DNS cutover на RUVDS достигнут; (2) поднят постоянный win-acme HTTP-01 auto-renewal на RUVDS IIS — дедлайн cert-expiry 2026-07-22 СНЯТ. Source НЕ заглушен (warm rollback). Всё проверено, ничего не висит.

Recent commits

  • 9cd6d4e2 task(iis-migration): full DNS cutover reached 2026-06-05
  • (+ commit этой сессии: win-acme renewal pipeline + wiki concept)

Что сделано (iis-migration, 05.06)

  • Full cutover: все 25 hostname authoritative на RUVDS 80.64.31.36. На windows-source ничего authoritative.
  • win-acme auto-renewal на RUVDS: 25-SAN LE cert (до 2026-09-03) во всех SNI-биндингах + SYSTEM scheduled task win-acme-renew-snolla (renew 55д до expiry). RUVDS больше НЕ зависит от домашнего traefik по сертификатам.
    • Gotcha решён: OWIN-catch-all CMS жрал /.well-known/acme-challenge/ → challenge вынесен в отдельное IIS-приложение (пул «No Managed Code») + патч шаблона C:\win-acme\Web_Config.xml.
    • Артефакты: scripts/iis-migration-to-ruvds/03-ruvds-winacme.ps1 + winacme-Web_Config.xml; recipe в .wiki/concepts/winacme-iis-owin-catchall-http01.md.
    • Доступ к RUVDS: SSH ~/.ssh/ruvds-iis-migrationAdministrator@80.64.31.36 (elevated сессия).

Спроси user'а

  • Decommission snolla site на windows-source — ждём soak (~2026-06-12) + drain кэша, или раньше? Когда решит: elevated PS → Stop-Website snolla → архив C:\sites\snolla (8.66 ГБ) → kreknin + cleanup temp SSH-ключей/FW-правил. (win-acme на RUVDS от этого не зависит — он самостоятелен.)
  • maljarka.tandemmebel.ru 502 — решено 2026-06-08. Корень: dbo.Sites.SettingsData=NULL у тенанта (нет httpSecure) → KeyNotFound в MoreThenCms на HTTPS-ветке. Fix: UPDATE Sites SET SettingsData='{httpSecure:...}' + recycle пула snolla; verified 443→200. См. .wiki/concepts/morethencms-null-settingsdata-https-502.md. (rimiz — отдельная причина, не трогали.)

Не делать (preemptive guards)

  • Не --test в win-acme под SSH — включает интерактив, виснет. Для staging — --baseuri <staging>.
  • Не трогать acme-challenge IIS-приложение / пул «No Managed Code» / патченый Web_Config.xml — на них держится авто-renewal. Detail: .wiki/concepts/winacme-iis-owin-catchall-http01.md.
  • Не Stop-Website snolla пока хвост кэша течёт / без явного запроса (warm rollback).
  • IIS-правки — elevated shell. branch ahead от origin — push без явного grant'а (Rule 4); grant НЕ давали.

Memory updates за сессию

  • (нет нового файла; знание — в wiki concept + task decisions log)

⚠️ Sensitive (НЕ в git)

  • Корневой C:\sites\snolla\web.config содержит plaintext-креды (MSSQL/SMTP/Azure/API-ключи). Pre-existing, не вводилось этой сессией. Если будешь декоммишить/архивировать — не плодить копии в трекаемых местах.