Files
obsidian/infra/apisix.md
kappa e914b7c564 KR존 네트워크 토폴로지 및 APISIX 설정 업데이트
- OpenWrt 포트포워딩: hp2:9080/9443 경유 APISIX로 변경
- incus proxy device 설정 반영
- APISIX 오사카/서울 인스턴스 분리 기술
- nocodb BunnyCDN 우회 처리 반영
- OVN 네트워크, DNS rebind 예외 추가

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-15 09:32:33 +09:00

2.9 KiB

title, updated
title updated
APISIX 설정 및 운영 2026-03-15

아키텍처

2개의 독립 APISIX 인스턴스, BunnyCDN pull zone으로 분리.

오사카 (apisix-osaka)

BunnyCDN(inouter, ID 5316471) → apisix-osaka(172.233.93.180) → 백엔드
  • 용도: Ironclad 인프라 서비스 (ironclad.it.com, hcv, gitea, n8n, twilio 등)
  • 보안: SafeLine WAF + CrowdSec 연동
  • upstream: incus-jp1 내부(10.253.x), K3s Traefik

서울 (incus-hp2)

인터넷 → OpenWrt(:80/:443) → hp2(:9080/:9443, incus proxy device) → APISIX(10.179.99.126) → 백엔드
  • 용도: KR존 리버스 프록시
  • upstream: K3s Traefik (192.168.9.134/214/135:443)
  • 라우트: nocodb.inouter.com (nocodb, nocodb-nuxt)
  • SSL: cert-manager wildcard *.inouter.com 인증서
  • SafeLine WAF 연동 (chaitin-waf 플러그인)
  • Admin API: incus exec apisix -- curl http://127.0.0.1:9180/apisix/admin

BunnyCDN Pull Zone 매핑

Zone Origin 방향 주요 Hostnames
inouter (5316471) 172.233.93.180 → 오사카 anvil.it.com, hcv.inouter.com, gitea, n8n, kroki
actions (5330178) 220.120.65.245 → 서울 actions.it.com (nocodb는 BunnyCDN 우회, 직접 연결)

ironclad.it.com 라우트

ironclad.it.com Cloudflare DNS origin: 172.233.93.180 (osaka), zone ID: bc8761b398cc52cf731f804bd3cbf388. APISIX 라우트 ironclad-it-com → web 컨테이너 10.253.100.159:80. SSL: Google Trust Services wildcard cert (*.ironclad.it.com) in APISIX. → cert-manager

SSL ID 규칙

APISIX SSL ID는 도메인 MD5 해시 앞 16자리

플러그인

APISIX 연동: ip-restriction + geoip-restriction 플러그인

Twilio 라우트

APISIX 라우트 ID: twilio-jp-inouter-com → twilio

Gitea POST 변환

gitea가 POST 미지원(AuthenticateNotImplemented, 404)하므로 APISIX에서 POST body 파라미터를 GET query string으로 변환

hcv.inouter.com 라우트

APISIX 라우트 hcv-inouter-com → K3s Traefik (192.168.9.134/214/135:443, roundrobin, scheme https). upstream ID: hcv-inouter-com. vault UI/API 서빙. BunnyCDN pull zone inouter (ID 5316471)에 hostname 추가 완료 (2026-03-12). K3s 노드 IP 변경 반영 (2026-03-14).

nocodb.inouter.com 라우트

트래픽 흐름: Cloudflare DNS (A 220.120.65.245, BunnyCDN 우회) → OpenWrt(:443) → hp2(:9443, incus proxy device) → APISIX(10.179.99.126, 라우트 nocodb/nocodb-nuxt) → K3s Traefik (192.168.9.134/214/135:443, roundrobin, scheme https) → nocodb svc:8080 (namespace tools).

BunnyCDN WAF가 NocoDB JS를 오탐 차단하여 CDN 우회 처리 (2026-03-15).

CrowdSec 로그 연동

APISIX(osaka) CrowdSec 로그 연동 현황 (2026-03-01)

인증: Authorization: apisix-crowdsec-log-2024

커스텀 파서: custom/apisix-json-logs (403 응답만 필터)

osaka APISIX에서 40K줄 수신, 403만 파싱 (커스텀 파서), 시나리오 매칭