Soak passed: traefik Up 38h, w3wp 8.8h (scheduled IIS pool recycle ~29h, not crash). HTTPS smoke 11 hostnames через full traefik chain — 8/8 наших sites вернули Microsoft-IIS/10.0. 3 hostname'а оказались off-infra (DNS снят / parked / external nginx) — не regression миграции, заведена follow-up ⚪ iis-traefik-dead-routes-cleanup. Wiki: Phase 11 close-out section в sources/iis-host-migration-2026-05-19, log ingest+decision entries. VM snolla-recovery ready для savestate (waits user go). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.7 KiB
2.7 KiB
iis-traefik-dead-routes-cleanup
Goal
Убрать из traefik (и host IIS bindings, если нужно) routes для 3 hostname'ов которые больше не указывают на нашу инфраструктуру — выяснилось в ходе iis-on-host-migration Phase 11 close-out smoke (2026-05-21):
| Host | Where it points now | Original task expectation |
|---|---|---|
maljarka.ru |
DNS снят (нет A record) | host IIS snolla |
sestech.ru |
Парковка domainparking.ru (TLS subj CN=*.domainparking.ru, cert от 2025-11-04) |
host IIS snolla |
ics-artmaterials.com |
A→87.236.16.28, отвечает nginx-reuseport/1.21.1 (внешний WP-хостинг) |
host IIS snolla |
Key files
C:\Users\vitya\projects\docker\diskstation\traefik\data\custom\— поискать yml где упоминаются эти 3 host'а. Скорее всего отдельный yml на каждый, либо combined.- Possibly host IIS site
snollabindings (черезappcmd list site snollaилиGet-WebBinding) — если bind на эти hostname'ы есть, тоже убрать.
Open questions
- Удалять yml совсем или
.disabledrename (как сделано сstostayer.yml.disabled)? Disabled безопаснее на случай если домен вернётся. - Нужно ли уведомить владельцев доменов (если внутренние SaaS-клиенты) что routes снимаются?
rimiz.ru(404 CMS-side, не off-infra) — НЕ сюда. Это open issue в recovery-architecture-snapshot.
Implementation sketch
# 1. Найти yml-ы, упоминающие dead hosts
Select-String -Path "C:\Users\vitya\projects\docker\diskstation\traefik\data\custom\*.yml" -Pattern "maljarka|sestech|ics-artmaterials"
# 2. Backup + rename .disabled (или удалить)
# (зависит от того что найдено в шаге 1)
# 3. docker restart traefik
# 4. Smoke: tail traefik logs на 30s — никаких errors для удалённых routes
docker logs --since 30s traefik 2>&1 | Select-String -Pattern "maljarka|sestech|ics-artmaterials"
Notes
- Low priority — dead routes генерируют noise в traefik logs (LE cert renewal попытки и т.п.), но не блокируют live trafic.
- Атомарный revert: rename
.disabled → .ymlобратно,docker restart traefik. - Если у
sestech.ruистёк parking cert, LE может пытаться renew наш cert тоже (если в acme.json остались записи); это благодарность для отдельной чисткиacme.json.