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>
6.7 KiB
title, type, tags, sources, updated
| title | type | tags | sources | updated | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RUVDS IIS Host (Windows Server 2025 Core) — 80.64.31.36 | entity |
|
|
2026-05-24 |
RUVDS IIS Host
Облачный Windows-VDS у RUVDS, DC Королёв. Куплен 2026-05-23 как destination для миграции IIS-хостинга с windows-recovery-host — closing SPOF домашней машины для prod CMS сайтов (snolla CMS multi-tenant). Это отдельный VDS от vds-kzntsv (Rusonyx Linux, инфра-стек): RUVDS = только IIS catch-all для CMS hostnames, Rusonyx VDS = gitea/verdaccio/registry/DB park.
Hardware / tariff
- Vendor: RUVDS (https://ruvds.com)
- Tariff: Windows Server 2025 Core, 2 GB RAM, 30 GB HDD, 1 IPv4 (DC Королёв)
- OS: Windows Server 2025 Core (GUI-less, RDP-only management)
- IPv4:
80.64.31.36 - Activated: 2026-05-23
Доступ
- RDP:
mstsc /admin→80.64.31.36:3389(открыт из коробки) - SSH:
ssh -i <key> Administrator@80.64.31.36(OpenSSH.Server enabled; FW 22 был scoped к source IP на время migration, после cutover — cleanup pending) - Креды:
pass show ruvds-iis/full-env(canonical secret store; раньше лежали plaintext в.secrets/ruvds-iis.env— вынесены ретроспективно, см. ../sources/iis-migration-to-ruvds-2026-05-23 Decisions log 2026-05-23 09:37)
Установленный стек
- IIS 10 (
Web-Server+ sub-features + management tools) - .NET Framework 4.8 (verified ≥ 528040)
- URL Rewrite Module 2.1 (msiexec offline)
- OpenSSH.Server (Windows capability; sshd running; FW 22 source-scoped)
- rclone v1.74.2 (
C:\Program Files\rclone\rclone.exe) — backup pipeline - Defender FW: inbound 80/443 (Any), 22 (source-IP), 3389 (Any); 445 закрыт (SMB transfer-метод deprecated, см. ../concepts/windows-server-2025-core-bootstrap)
Что хостит
| Site | physicalPath | Bindings | Notes |
|---|---|---|---|
snolla (AppPool snolla, .NET v4.0 Integrated, ApplicationPoolIdentity) |
C:\sites\snolla\ (8.66 GB / 44725 files, copied 2026-05-23 via SSH/scp) |
*:80: catch-all HTTP + 25× *:443:<hostname> HTTPS SNI |
catch-all для всех CMS hostnames через multi-tenant routing в самом CMS |
25 HTTPS hostnames bound via SNI (LE certs imported from traefik acme.json, valid до 2026-07-22, R13):
- ✅
emspb.ru/www.emspb.ru— DNS flipped 2026-05-24 ~12:00 - ✅
kupimknigi.spb.ru— DNS flipped 2026-05-24 ~00:00 (pilot) - ⏳ 22 more in queue (
pilorama98.ru/www,labtools.ru/www,labtools.pro/www, 12×*.snolla.com,rimiz.ru/www,maljarka.tandemmebel.ru, etc.) — pending DNS TTL drop в reg.ru (TTL=86400 пока) - ⛔
tandemmebel.ru/www.tandemmebel.ru— scope-narrowed 2026-05-24, остаются на windows-IIS на неопределённый срок
Degraded (CMS-side, не migration defect): rimiz.ru/www, rimiz.snolla.com — возвращают 502/404 (pre-existing dead-routes от ../sources/iis-host-migration-2026-05-19 cleanup; на source IIS:8089 тоже не работают).
- ✅
maljarka.tandemmebel.ru— пофикшен 2026-06-08: 502-на-HTTPS был из-заSites.SettingsData=NULL(нет блокаhttpSecure) →KeyNotFoundExceptionв MoreThenCms. Корень + fix: ../concepts/morethencms-null-settingsdata-https-502. rimiz — другая причина (егоSettingsDataзаполнен).
Ключевые папки
C:\sites\snolla\— IIS site content (8.66 GB)C:\Windows\System32\inetsrv\config\applicationHost.config— IIS configC:\ProgramData\backup\— backup pipeline (rclone.conf, kreknin-key, run.ps1, ntfy-token.txt) — ACL: SYSTEM + Administrators onlyC:\ProgramData\ssh\administrators_authorized_keys— temp pubkey для migration scp; cleanup pending post full cutoverscripts/iis-migration-to-ruvds/01-ruvds-bootstrap.ps1(в admin repo) — idempotent bootstrap скрипт
Backup
Daily 04:30 MSK → kreknin-synology via rclone+SFTP. Снимаются: C:\sites\snolla\, applicationHost.config, Backup-WebConfiguration snapshot, exported PFX certs, C:\ProgramData\ssh\. Retention 7 daily. ntfy vds-backup topic (общий с VDS backup). Smoke run #1 (2026-05-24 11:46:51) — green. См. ../sources/ruvds-backup-daily-kreknin-2026-05-24.
Известные риски / SPOF
- Image-pipeline SPOF: RUVDS IIS вызывает
imgproxy.kzntsv.siteкоторый всё ещё на windows-recovery-host — если домашняя машина гаснет, картинки rendering падает (HTML отдаётся OK с RUVDS). Verified post-migrationTest-NetConnection imgproxy.kzntsv.site -Port 443= OK. Не closing полный SPOF — defer (Option B local nginx-relay / Option D decompile DLL, см. ../concepts/iis-cutover-to-vds-services). - 2 GB RAM tight: w3wp ~330 MB cold start. Monitor under prod load — возможно потребуется
RecyclingPeriodicRestartMemory 200MBper pool. - LE renewal pipeline отсутствует: certs истекают 2026-07-22 (~60 дней window). Pending —
win-acmestandalone с HTTP-01 после full DNS swap (см. ../sources/iis-migration-to-ruvds-2026-05-23 Open questions). - Home-network HTTP middlebox (DPI/transparent proxy в OpenWRT/ISP) — mangles Host header для direct external HTTP smoke testing. Real end-users из других сетей не affected. См. ../concepts/windows-server-2025-core-bootstrap Update 2026-05-24.
Vendor onboarding
В отличие от ../concepts/rusonyx-vps-onboarding-quirks (VNC console, dpkg prompts) — RUVDS Windows из коробки RDP-ready, VPN/VNC quirks не зафиксировано. Bootstrap-recipe в ../concepts/windows-server-2025-core-bootstrap.
Cross-refs
- Source-host (где IIS был раньше): windows-recovery-host
- VDS со shared DBs / MSSQL backend для IIS: vds-kzntsv
- Backup target: kreknin-synology
- Migration chronology: ../sources/iis-migration-to-ruvds-2026-05-23
- Backup chronology: ../sources/ruvds-backup-daily-kreknin-2026-05-24
- Bootstrap recipe: ../concepts/windows-server-2025-core-bootstrap
- Cert import recipe: ../concepts/traefik-acme-json-to-iis-cert-import
- Driver / SPOF rationale: ../concepts/future-resilient-architecture-goals