Files
admin/.wiki/entities/ruvds-iis-host.md
vitya d3d0ff48ed feat(tandemmebel): cutover LIVE on VDS — last snolla site migrated
DNS reg.ru flipped, traefik Host-rule staging->prod, LE cert issued.
Live-smoke GREEN: all pages 200, sitemap 184 locs, sharp media OK.
Gotham-Pro.css latent prod bug fixed by cutover (0B->4436B).
Snolla 0.42.x tirazh now fully alive (5/5 stacks on VDS).
2026-07-12 12:48:20 +03:00

85 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: RUVDS IIS Host (Windows Server 2025 Core) — 80.64.31.36
type: entity
tags: [hardware, vds, ruvds, windows, iis, cms, snolla, kupimknigi]
sources: [../sources/iis-migration-to-ruvds-2026-05-23.md, ../sources/ruvds-backup-daily-kreknin-2026-05-24.md]
updated: 2026-06-11
---
# RUVDS IIS Host
Облачный Windows-VDS у [RUVDS](https://ruvds.com), 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 |
**HTTPS hostnames bound via SNI** (было 25; сейчас **23** после декоммишна emspb.ru/www — 2026-07-02. `Get-WebBinding` total: 26→24 включая `*:80:` catch-all). LE certs теперь через [[../concepts/winacme-iis-owin-catchall-http01]] (binding-driven `--source iis`, cert до 2026-09-03):
- 🗑️ `emspb.ru` / `www.emspb.ru`**декоммишн 2026-07-02**: миграция на [[../entities/vds-kzntsv]] подтверждена оператором (off-LAN проверка с IIS-хоста: оба → 89.253.255.94 HTTP 200), SNI-биндинги сняты. Backup конфига `pre-emspb-decommission-2026-07-02`. `emspb.snolla.com` **оставлен** (НЕ мигрирован, DNS всё ещё → IIS). Rollback = re-add 2 биндингов (cert в store) или `Restore-WebConfiguration`.
-`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`**cutover VDS 2026-07-12**: DNS reg.ru → 89.253.255.94, traefik Host-rule flipped, LE-серт issued. RUVDS IIS биндинги оставлены как rollback (не декоммишн).
**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 config
- `C:\ProgramData\backup\` — backup pipeline (rclone.conf, kreknin-key, run.ps1, ntfy-token.txt) — ACL: SYSTEM + Administrators only
- `C:\ProgramData\ssh\administrators_authorized_keys` — temp pubkey для migration scp; **cleanup pending** post full cutover
- `scripts/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]]~~ **СНЯТ 2026-06-08** — imgproxy переехал на [[../entities/books-vds]], windows-recovery-host декоммишнен. SPOF закрыт.
- **2 GB RAM tight:** w3wp ~330 MB cold start. Monitor under prod load — возможно потребуется `RecyclingPeriodicRestartMemory 200MB` per pool.
- ~~**LE renewal pipeline отсутствует:** certs истекают 2026-07-22~~ **ЗАКРЫТ 2026-06-05** — win-acme v2.2.9 + HTTP-01 развёрнут, новый cert (25-SAN) до 2026-09-03. SYSTEM ScheduledTask renewal раз в 60 дней. Подробности: [[../concepts/winacme-iis-owin-catchall-http01]].
- **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]]
- LE auto-renewal recipe: [[../concepts/winacme-iis-owin-catchall-http01]]
- Driver / SPOF rationale: [[../concepts/future-resilient-architecture-goals]]