docs(.wiki): ingest iis-host-migration 2026-05-19 session

New source page documenting migration of MoreThenCms.Web from
snolla-recovery VM to native host IIS. Updates:
- recovery-architecture-snapshot: new chain (traefik -> host:80) +
  secondary chain for stostayer still on VM
- snolla-recovery-vm: demoted, IdentityManager port fix (8089 not 80),
  sub-apps detailed
- windows-recovery-host: 3 native IIS sites + C:\sites\, C:\stayer\
- log.md: ingest + decision entries

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-19 12:51:35 +03:00
parent c86750b75d
commit 117376656d
2 changed files with 22 additions and 13 deletions

View File

@@ -1,14 +1,16 @@
---
title: Snolla Recovery VM (VirtualBox)
type: entity
tags: [vm, virtualbox, windows, iis, cms, recovery]
sources: [../sources/nas-recovery-session-2026-05-18.md]
tags: [vm, virtualbox, windows, iis, cms, recovery, demoted]
sources: [../sources/nas-recovery-session-2026-05-18.md, ../sources/iis-host-migration-2026-05-19.md]
updated: 2026-05-19
---
# Snolla Recovery VM
VirtualBox-VM на [[windows-recovery-host]], в которой работает CMS-стек (IIS + .NET + код CMS). Импортирован из OVA-снапшота 2024-10-27, который лежал в Hyper Backup репо.
VirtualBox-VM на [[windows-recovery-host]], в которой работала CMS-стек (IIS + .NET + код CMS). Импортирован из OVA-снапшота 2024-10-27, который лежал в Hyper Backup репо.
**Статус с 2026-05-19 (после [[iis-host-migration-2026-05-19]]):** VM **демоут** — больше не обслуживает основной CMS-трафик. 11 главных клиентских доменов идут через traefik на нативный IIS хоста (`MoreThenCms.Web` на `C:\sites\MoreThenCms.Web`). VM продолжает обслуживать только `stostayer` и `stostayer.old` через port forwards `18180/18181`. Полное выключение — после миграции stayer-сайтов или явного решения их не мигрировать.
## Параметры
@@ -45,15 +47,17 @@ VirtualBox-VM на [[windows-recovery-host]], в которой работает
## IIS-сайты
| Site | Path | Bindings |
|---|---|---|
| **MoreThenCms.Web** | `C:\inetpub\wwwroot\MoreThenCms.Web` | `*:80` |
| **Snolla.IdentityManager** | `C:\inetpub\wwwroot\Snolla.IdentityManager` | `*:80` |
| **stostayer** | `C:\stayer\MoreThenCms.Web` | `*:8080` |
| **stostayer.old** | `C:\stayer\stostayer.old` | `*:8081` |
| (default) | | `*:8089` |
| Site | Path | Bindings | Прим. |
|---|---|---|---|
| **MoreThenCms.Web** | `C:\inetpub\wwwroot\MoreThenCms.Web` | `*:80` | **с 2026-05-19 не получает prod-трафика** (traefik переключён на хост) |
| **Snolla.IdentityManager** | `C:\inetpub\wwwroot\Snolla.IdentityManager` | `*:8089` | публично не используется, в host-миграцию не вошёл |
| **stostayer** | `C:\stayer\MoreThenCms.Web` | `*:8080` | **до сих пор обслуживает prod** через traefik backend `host.docker.internal:18180` |
| **stostayer.old** | `C:\stayer\stostayer.old` | `*:8081` | **до сих пор обслуживает prod** через `host.docker.internal:18181` |
| **stostayer.old/calc** | `C:\stayer\Mis.StoStayer.Calculator.Web` | (sub-app под `:8081`) | отдельный app pool `calc` |
| **stostayer.old/price** | `C:\stayer\Mis.StoStayer.Price.Api` | (sub-app под `:8081`) | отдельный app pool `price` |
| **stostayer.old/price/tireService** | `C:\stayer\Mis.StoStayer.TireService.Api` | (sub-app под `:8081`) | отдельный app pool `tireService` |
CMS распознаёт клиента по **Host header** все 11 клиентских доменов идут на 80 и роутятся внутри CMS-кода.
CMS распознаёт клиента по **Host header** — 11 клиентских доменов исходно роутились внутри `MoreThenCms.Web` на `:80`. После [[iis-host-migration-2026-05-19]] этот сайт зеркалирован на хост в `C:\sites\MoreThenCms.Web` и получает весь prod-трафик там.
## Web.config — критичные настройки (после recovery patch)

View File

@@ -34,11 +34,14 @@ updated: 2026-05-19
- Соединение с интернетом через **WiFi** (Broadcom 802.11ac, 288 Mbps)
- За **VLESS-клиентом v2rayN** (роутер default-route шёл через VPN, пришлось настроить **Bypass LAN** правило с `geoip:private` → direct, иначе входящие 80/443 терялись через asymmetric routing)
## Что хостит сейчас (после recovery)
## Что хостит сейчас (после recovery + [[iis-host-migration-2026-05-19]])
| Что | Где | Порт (host) |
|---|---|---|
| **VirtualBox `snolla-recovery` VM** | C:\Users\vitya\VirtualBox VMs\snolla-recovery\ | VRDE 13389, NAT-RDP 23389, NAT-SSH 8022, NAT-HTTP 18080/18180/18181/18189 |
| **Native IIS — MoreThenCms.Web** (с 2026-05-19) | `C:\sites\MoreThenCms.Web` (AppPool `MoreThenCms.Web`, .NET v4.0 Integrated, `ApplicationPoolIdentity`) | 80 |
| **Native IIS — stostayer** (с 2026-05-19, прод трафика пока нет) | `C:\stayer\MoreThenCms.Web` (AppPool `stostayer`) | 8090 |
| **Native IIS — stostayer.old** (с 2026-05-19, прод трафика пока нет) | `C:\stayer\stostayer.old` (AppPool `stostayer.old`) | 8091 |
| **traefik 2.6.6** | Docker, network `proxy` | 8000 (http), 4443 (https), 8080 (dashboard) |
| **MSSQL 2019** | Docker, named volume `mssql_mssql_data` | 1433 |
| **MinIO** | Docker, bind-mount `./data` | 9000 |
@@ -46,7 +49,7 @@ updated: 2026-05-19
| **imgproxy** | Docker | 8787 |
| **imgproxy-nginx** | Docker | 8788 |
Также установлен IIS, но Default Web Site пустой / неактивно используется. Должен быть остановлен в админ-PowerShell когда руки дойдут (для оптимизации; на 8000/4443 traefik не конфликтует с IIS на 80).
`Default Web Site` остановлен (`autoStart=false`) — освободил `:80` для `MoreThenCms.Web`. URL Rewrite + ARR пока **не установлены** (Phase 5).
## Ключевые папки
@@ -56,6 +59,8 @@ updated: 2026-05-19
- `C:\Users\vitya\VirtualBox VMs\snolla-recovery\` — VM home (VMDK на SATA controller, 42.5 GB extract из OVA)
- `C:\nas-recovery\backup\snolla\snolla.ova` — оригинал OVA (45.6 GB, для повторного импорта если что)
- `C:\nas-recovery\vm-sites\wwwroot\`, `C:\nas-recovery\vm-sites\stayer\` — резервная копия IIS-сайтов из VM (на случай дрожи VM)
- `C:\sites\MoreThenCms.Web\`**активный prod CMS** на нативном IIS (зеркало `vm-sites\wwwroot\MoreThenCms.Web`, с патчем `sitePath` + connection string на `localhost`)
- `C:\stayer\` — копии stayer-проектов на хосте (Native IIS сайты `stostayer` :8090 и `stostayer.old` :8091 готовы, но prod-трафик пока на VM)
- `C:\Users\vitya\projects\MoreThenCms\` — git-репо с исходниками CMS (важно — у нас есть и source code)
## SSH-ключи на этой машине