feat(iis-on-host-migration): done — attempt 2 close-out, 8/8 sites green @ 36h soak
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>
This commit is contained in:
43
iis-traefik-dead-routes-cleanup.md
Normal file
43
iis-traefik-dead-routes-cleanup.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# 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 `snolla` bindings (через `appcmd list site snolla` или `Get-WebBinding`) — если bind на эти hostname'ы есть, тоже убрать.
|
||||
|
||||
## Open questions
|
||||
|
||||
- [ ] Удалять yml совсем или `.disabled` rename (как сделано с `stostayer.yml.disabled`)? Disabled безопаснее на случай если домен вернётся.
|
||||
- [ ] Нужно ли уведомить владельцев доменов (если внутренние SaaS-клиенты) что routes снимаются?
|
||||
- [ ] `rimiz.ru` (404 CMS-side, не off-infra) — НЕ сюда. Это open issue в [[recovery-architecture-snapshot]].
|
||||
|
||||
## Implementation sketch
|
||||
|
||||
```powershell
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user