docs: Cloudflare Tunnel·NPM·Full과 PB HTTP 정리
Made-with: Cursor
This commit is contained in:
@@ -67,4 +67,4 @@ docker build \
|
|||||||
|
|
||||||
### API 도메인에서 `ERR_SSL_VERSION_OR_CIPHER_MISMATCH`가 날 때
|
### API 도메인에서 `ERR_SSL_VERSION_OR_CIPHER_MISMATCH`가 날 때
|
||||||
|
|
||||||
PocketBase는 **자체 TLS 없이 HTTP**로 뜨는 경우가 많다. `https://api.todo.sori.studio`는 **프록시가 TLS를 처리**해야 한다. 443에 인증서가 없거나, 백엔드를 잘못된 프로토콜/포트로 넘기면 위 오류가 난다. 절차는 `docs/nas-deploy-guide.md` **11-1**을 본다.
|
PocketBase는 **자체 TLS 없이 HTTP**로 뜨는 경우가 많다. `https://api.todo.sori.studio`는 **프록시가 TLS를 처리**해야 한다. 443에 인증서가 없거나, 백엔드를 잘못된 프로토콜/포트로 넘기면 위 오류가 난다. 절차는 `docs/nas-deploy-guide.md` **11-1**을 본다. **Cloudflare Tunnel + NPM + SSL `Full`** 조합은 **11-2**를 본다.
|
||||||
|
|||||||
@@ -288,6 +288,19 @@ PocketBase 컨테이너는 **기본적으로 HTTPS(TLS)를 제공하지 않는
|
|||||||
5. **터미널 확인(선택)**
|
5. **터미널 확인(선택)**
|
||||||
`curl -vI https://api.todo.sori.studio` 로 응답 헤더·인증서 이름이 기대와 같은지 본다.
|
`curl -vI https://api.todo.sori.studio` 로 응답 헤더·인증서 이름이 기대와 같은지 본다.
|
||||||
|
|
||||||
|
### 11-2. Cloudflare Tunnel + NPM, SSL 모드 **Full**
|
||||||
|
|
||||||
|
**`Full`의 의미(오렌지 구름·일반 프록시 기준):**
|
||||||
|
사용자↔Cloudflare는 HTTPS이고, Cloudflare↔**오리진(집의 서버)** 도 **HTTPS**로 연결하려 한다. 그래서 오리진 쪽(예: NPM이 443에서 받는 호스트)에는 **TLS가 켜져 있고**, Cloudflare가 신뢰할 수 있는지는 모드에 따라 다르다(`Full`은 자체서명도 허용, **`Full (strict)`** 는 정식 체인 필요).
|
||||||
|
|
||||||
|
**PocketBase는 HTTP만 제공**하므로, Cloudflare가 최종적으로 붙는 대상은 “PB 컨테이너”가 아니라 **그 앞의 NPM(또는 터널)** 이어야 한다. NPM이 `api.todo.sori.studio`에 대해 443에서 인증서를 내고, **내부 업스트림만** `http://192.168.50.146:42917` 같은 **HTTP**로 넘기면 된다.
|
||||||
|
|
||||||
|
**Cloudflare Tunnel을 같이 쓰는 경우** 흔한 오해:
|
||||||
|
|
||||||
|
- 터널의 **Public Hostname** 서비스 URL은 PocketBase에 맞게 **`http://` + LAN IP + 포트**(예: `http://192.168.50.146:42917`)로 두는 경우가 많다. 여기를 **`https://`…로 잘못 두면** PB는 TLS를 못 하므로 협상 오류로 이어질 수 있다.
|
||||||
|
- **Tunnel로 끝내는 호스트**와 **NPM으로만 노출하는 호스트**를 같은 서브도메인에 이중으로 겹치면 경로가 꼬이기 쉽다. `api` 한 줄은 **터널만** 또는 **NPM만** 중 하나가 실제로 받도록 정리하는 것이 좋다.
|
||||||
|
- 대시보드 **SSL/TLS → 개요**의 `Full`은, **DNS가 터널(CNAME)만 타고 오렌지 프록시를 안 쓰는 구성**과는 동작 맥락이 다를 수 있다. 문제가 나면 Zero Trust에서 해당 **Public Hostname**의 스킴·포트·대상 IP를 다시 확인한다.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 12. NAS에 Git이 없을 때
|
## 12. NAS에 Git이 없을 때
|
||||||
|
|||||||
Reference in New Issue
Block a user