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>
52 lines
3.6 KiB
Markdown
52 lines
3.6 KiB
Markdown
---
|
||
_last_updated_: 2026-06-05T02:00:00+03:00
|
||
session_id: 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-migration` → `Administrator@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,
|
||
не вводилось этой сессией. Если будешь декоммишить/архивировать — не плодить копии в трекаемых местах.
|