Files
admin/.wiki/entities/ruvds-iis-host.md
vitya e2338b6fdd wiki(lint): close all 10 lint issues + delete windows-host backup task
- deleted .tasks/windows-host-fallback-backup-daily.md (MSSQL removed on decommission 2026-06-08)
- recovery-architecture-snapshot.md: marked ИСТОРИЧЕСКАЯ ЗАПИСЬ; removed 3 broken [[wiki-links]] (cms-server-port-leak-fix, cms-admin-assets-root-folder-seed, webconfig-password-xml-escape)
- snolla-recovery-vm.md: marked УДАЛЕНА 2026-06-08
- ruvds-iis-host.md: struck 2 resolved risks (imgproxy SPOF, LE renewal); cross-ref winacme
- future-resilient-architecture-goals.md: dead task link → plain text
- mssql-on-vds.md: frontmatter fix; Backup TODO section replaced with implemented block (Express COPY_ONLY, sqlcmd, bind-mount pattern)
- vds-kzntsv.md: added MSSQL row to software stack table
- log.md: update entries for lint + mssql backup implementation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-11 08:18:19 +03:00

85 lines
6.6 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 |
**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 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]]