docs: Docker 환경별 라우팅 경계 명확화

This commit is contained in:
2026-08-21 04:43:03 +00:00
parent c5622c6359
commit aacfbb6023
+18 -8
View File
@@ -1,11 +1,20 @@
# Caddy prefix 계약 # Core2026 환경별 Caddy prefix 계약
## 환경과 ingress ## 환경과 ingress
| 환경 | 공개 주소 | 연결 계약 | | 환경 | 공개 주소·prefix | 접속·연결 계약 |
| ---- | --------- | --------- | | ------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| 공개 | `dev-sam2026.hided.net` | 실제 외부 Core2026 서비스입니다. 로컬 Docker `14999`의 주소가 아닙니다. | | Ref | `dev-sam-ref.hided.net` | 개발 호스트 `172.30.1.54:3400`의 PHP 기준 구현입니다. |
| E2E | `dev-sam-e2e.hided.net` | 외부 Caddy TLS → `172.30.1.54:14999` HTTP → Docker Caddy입니다. | | 로컬 E2E | `dev-sam-e2e.hided.net` | 외부 Caddy TLS → 개발 호스트 `172.30.1.54:14999` HTTP → Docker Caddy입니다. |
| 공개 개발 | `dev-sam2026.hided.net` | `ssh serv``core2026-dev-sam2026`/`hidche_ng_my`입니다. 로컬 E2E `14999`와 다른 호스트입니다. |
| sam Core 운영 | `sam.hided.net/gateway/`와 일곱 profile prefix | `ssh serv``core2026-sam-production`/`hidche_core2026_my`입니다. |
| sam PHP 운영 | `sam.hided.net/sam/`과 기존 PHP 경로 | `ssh serv`의 별도 `sam_hided_net` project입니다. |
`dev-sam2026.hided.net``sam.hided.net` Core prefix는 같은 Git 구현을 사용할 수
있지만 PostgreSQL, Redis, named volume, release queue와 active commit이 분리된
배포 환경입니다. 한 환경의 release/API/Chromium 결과를 다른 환경의 반영 근거로
사용하지 않습니다. 상위 `sam_rebuild` 작업공간에서는
`docs/docker-environment-routing.md`의 전체 결정 절차도 함께 따릅니다.
외부 Caddy는 E2E 호스트의 모든 경로를 `172.30.1.54:14999`로 전달하고 원래 외부 Caddy는 E2E 호스트의 모든 경로를 `172.30.1.54:14999`로 전달하고 원래
`Host` header와 path prefix를 보존합니다. `handle_path`처럼 prefix를 제거하는 `Host` header와 path prefix를 보존합니다. `handle_path`처럼 prefix를 제거하는
@@ -26,7 +35,7 @@ HTTP_PORT=14999
`https://dev-sam-e2e.hided.net/gateway/oauth/callback`을 파생합니다. 도메인을 `https://dev-sam-e2e.hided.net/gateway/oauth/callback`을 파생합니다. 도메인을
바꾼 뒤에는 Caddy뿐 아니라 runtime도 재생성하여 process 환경을 갱신합니다. 바꾼 뒤에는 Caddy뿐 아니라 runtime도 재생성하여 process 환경을 갱신합니다.
## 활성 경로 ## 로컬 E2E 활성 경로
| 서비스 | 공개 prefix | frontend | API | | 서비스 | 공개 prefix | frontend | API |
| ------- | ----------- | -------: | ------: | | ------- | ----------- | -------: | ------: |
@@ -36,8 +45,9 @@ HTTP_PORT=14999
표의 port는 Docker 내부 Caddy가 연결하는 frontend/API listener입니다. 외부 표의 port는 Docker 내부 Caddy가 연결하는 frontend/API listener입니다. 외부
Caddy가 이 port들에 직접 연결하지 않습니다. `kwe`, `pwe`, `twe`, `nya`, Caddy가 이 port들에 직접 연결하지 않습니다. `kwe`, `pwe`, `twe`, `nya`,
`pya`는 resource·profile 이름으로 사용할 수 있지만 활성 Caddy route가 `pya` 로컬 E2E에서 resource·profile 이름으로 사용할 수 있지만 활성 Caddy
아닙니다. route가 아닙니다. `sam.hided.net`의 별도 운영 Core stack에는 이 다섯 profile도
활성 prefix이므로 환경별 계약을 섞지 않습니다.
Caddy는 prefix를 보존해 upstream에 전달합니다. 앱은 root 배포를 가정하지 Caddy는 prefix를 보존해 upstream에 전달합니다. 앱은 root 배포를 가정하지
않고 frontend base, tRPC, SSE, upload와 direct navigation에 같은 prefix를 않고 frontend base, tRPC, SSE, upload와 direct navigation에 같은 prefix를