diff --git a/infra/apisix.md b/infra/apisix.md index 334e17d..28f3734 100644 --- a/infra/apisix.md +++ b/infra/apisix.md @@ -80,18 +80,20 @@ etcdctl put /apisix/plugin_metadata/chaitin-waf '{"id":"chaitin-waf","nodes":[{" ### BunnyCDN Pull Zone 매핑 -| Zone | Origin | 방향 | 주요 Hostnames | -|---|---|---|---| -| inouter (5316471) | 172.233.93.180 | → 오사카 | anvil.it.com, vault.inouter.com, n8n, kroki, tg.anvil.it.com | -| actions (5330178) | 220.120.65.245 | → 서울 | actions.it.com, gitea.anvil.it.com | +| Zone | ID | Origin | 방향 | 주요 Hostnames | +|---|---|---|---|---| +| iron-jp | 5555247 | 172.233.93.180 | → 오사카 | anvil.it.com, n8n.anvil.it.com, tg.anvil.it.com, linode.actions.it.com | +| iron-kr | 5555227 | 220.120.65.245 | → 서울 (Traefik) | actions.it.com, gitea.anvil.it.com, n8n.inouter.com, jarvis.inouter.com, telegram-webhook.inouter.com, vault.inouter.com | +| iron-kr-waf | 5555224 | 220.120.65.245:9443 | → 서울 (APISIX WAF) | juiceshop.keepanker.cv | -참고: actions zone은 `DisableCookies: false` (쿠키 허용, 2026-03-15). Gitea 웹 로그인 세션에 필요. +참고: iron-kr zone은 `DisableCookies: false` (쿠키 허용). Gitea 웹 로그인 세션에 필요. +Edge Script: iron-jp, iron-kr에 CrowdSec bouncer middleware (ID 64811) 연결. ### DNS 참고 -- `*.anvil.it.com` 와일드카드 CNAME → `inouter.b-cdn.net` (오사카) -- actions zone으로 이전한 호스트는 전용 CNAME 필수 (와일드카드 오버라이드) - - `gitea.anvil.it.com` CNAME → `actions.b-cdn.net` +- `*.anvil.it.com` 와일드카드 CNAME → `iron-jp.b-cdn.net` (오사카) +- iron-kr zone 호스트는 전용 CNAME 필수 (와일드카드 오버라이드) + - `gitea.anvil.it.com` CNAME → `iron-kr.b-cdn.net` - `hcv.inouter.com` CNAME → `k3s.inouter.com` (LAN 직접, BunnyCDN 우회) - `nocodb.inouter.com` CNAME → `k3s.inouter.com` (LAN 직접, BunnyCDN 우회) - K3s CoreDNS: `gitea.anvil.it.com` → Traefik ClusterIP (10.43.205.207) 헤어핀 방지