2.9 KiB
2.9 KiB
Tailscale / vnet 런타임 메모 — 2026-06-27
결론
- Tailnet 전용 접속점은
https://alpaca-home.taile93291.ts.net이다. - 현재 머신에서
tailscale serve루트 HTTPS가http://127.0.0.1:5173으로 연결된다. - Tailnet 런타임은 API를
8010에 띄우고, Vite proxy가VITE_API_PROXY_TARGET=http://127.0.0.1:8010을 보도록 분리했다. 기존 8000 reloader 잔류와 충돌하지 않게 하기 위해서다. - Tailnet dev-login은
AUTH_DEV_LOGIN_EXTRA_ORIGINS=["https://alpaca-home.taile93291.ts.net"]가 있을 때만 dev 환경에서 열린다. prod에서는 계속 차단된다. scripts/dev-up.ps1는 API 포트와VITE_API_PROXY_TARGET을 같은 값으로 강제한다. Vite가 8010을 보는데 API가 8000/8002로 떠서/api/auth/config가 500을 내던 회귀를 막기 위한 조치다.
검증
tailscale serve status:https://alpaca-home.taile93291.ts.net→http://127.0.0.1:5173
GET https://alpaca-home.taile93291.ts.net/login→200GET https://alpaca-home.taile93291.ts.net/api/auth/config→dev_login_enabled: truePOST https://alpaca-home.taile93291.ts.net/api/auth/dev-login+ cookie 재사용GET /api/auth/me→200- Playwright DOM 확인:
https://alpaca-home.taile93291.ts.net/login에로컬 테스트,학습자,교수자,관리자,로컬 테스트 계정으로 계속이 표시된다. - 로컬 리스너:
- gateway
127.0.0.1:9099 - Tailnet API
127.0.0.1:8010 - web
127.0.0.1:5173
- gateway
공개 vnet.18ka.net 상태
코드와 스크립트는 vnet.18ka.net / api-vnet.18ka.net을 인식하도록 준비했다.
- backend
FRONTEND_ORIGIN_MAP기본값:api-vignette.chanpaca.net→https://vignette.chanpaca.netapi-vnet.18ka.net→https://vnet.18ka.net
- frontend public API fallback:
vnet.18ka.net→https://api-vnet.18ka.net
scripts/start-public-runtime.ps1는vnet.18ka.netweb preview(5174)와api-vnet.18ka.netAPI(8001) ingress를 생성하도록 갱신했다.
아직 live 완료가 아닌 이유:
- 현재
vnet.18ka.net과api-vnet.18ka.net은 DNS가 없다. - 현재 cloudflared 인증 컨텍스트는
18ka.netzone을 관리하지 못한다.cloudflared tunnel route dns vignette vnet.18ka.net실행 시 원하는18ka.net이 아니라vnet.18ka.net.chanpaca.net레코드를 만들었다. - prod API는 DB 연결이 없으면 fail-closed로 종료한다. 현재
127.0.0.1:55432Postgres가 꺼져 있어http://127.0.0.1:8001/health가 뜨지 않는다. - Google OAuth Console에도
https://api-vnet.18ka.net/auth/callback을 Authorized redirect URI로 추가해야 실제 Google 로그인이 완료된다.
재기동 명령
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\start-tailscale-runtime.ps1
공개 vnet은 DB와 DNS가 준비된 뒤:
powershell -NoProfile -ExecutionPolicy Bypass -File scripts\start-public-runtime.ps1