# 도메인 매핑 (운영/개발 환경) > ⚠️ AI 에이전트와 신규 개발자가 헷갈리지 않도록 영구 기록. > 변경 시 반드시 본 문서 + `.cursor/rules/api-client-usage.mdc` + `.cursor/rules/project-conventions.mdc` 를 함께 갱신. ## 운영 환경 | 역할 | 도메인 | 비고 | |---|---|---| | Frontend (정식) | `solution.invyone.com` | 사용자 진입 URL | | Frontend (alias) | `v1.invyone.com` | 같은 frontend, 백업/구버전 alias | | Backend Spring API | `api.invyone.com` | `https://api.invyone.com/api/...` | | Backend Node API | `node-api.invyone.com` | (legacy / 일부 endpoint) | DNS 검증 (확인 일자: 2026-04-28) - `solution.invyone.com` → 200 - `v1.invyone.com` → 200 - `api.invyone.com` → 200 - `node-api.invyone.com` → 200 ## 폐기된 도메인 (사용 금지) | 도메인 | 상태 | |---|---| | `v1.invion.com` | DNS 미존재. 이전 코드/문서에 박혀 있어 2026-04-28 일괄 정리 | | `api.invion.com` | 동일 | | `node-api.invion.com` | 동일 | | `solution.invion.com` | 동일 | > "invion" → "invyone" 일괄 치환 완료. 신규 코드/문서는 절대 `invion.com` 사용 금지. ## 개발 환경 | 역할 | 주소 | 비고 | |---|---|---| | Frontend dev | `http://localhost:9771` | docker-compose.frontend.win.yml | | Backend Spring | `http://localhost:8081` | docker-compose.backend.win.yml | ## 인증 정보 ### 로컬 (`.cursor/rules/web-verify-login.mdc`) - 아이디: `wace` / 비밀번호: `qlalfqjsgh11` — **로컬 전용** ### 운영 (`solution.invyone.com`) - 운영 비밀번호는 코드/문서에 평문 저장 금지. - 사용자에게 직접 문의해서 입력 받을 것. - AI 에이전트는 로컬 비밀번호로 운영 로그인 시도 X. ## API 호출 흐름 ``` 브라우저 (solution.invyone.com) ↓ apiClient (lib/api/client.ts) ↓ baseURL = https://${currentHost}/api (1순위, *.invyone.com 자동 매칭) 운영 Traefik (k8s/traefik-dynamic.yaml) ↓ Host(`solution.invyone.com`) && PathPrefix(`/api`) → backend Spring Boot (api.invyone.com 직접 OR Traefik 내부) ``` `apiClient` 우선순위: 1. `*.invyone.com` 호스트 → `https://${currentHost}/api` (서브도메인 테넌트 대응) 2. `v1.invyone.com` / `solution.invyone.com` 직접 매칭 → `https://api.invyone.com/api` 3. `NEXT_PUBLIC_API_URL` 환경변수 4. `http://localhost:8081/api` (로컬 기본)