커스텀 도메인 설정
PCS에는 자동으로 작동하는 .nsl.sh 도메인이 제공됩니다. 하지만 자체 도메인(예: mycloud.com)을 소유하고 있다면, PCS에 연결하여 photos.mycloud.com, files.mycloud.com 등으로 앱에 접근할 수 있습니다.
시작 전 준비
필요한 것
- 등록된 도메인 이름 (어떤 등록 기관이든 가능: Namecheap, Google Domains, GoDaddy, OVH 등)
- 도메인의 DNS 설정 접근 권한
- PCS의 공인 IP 주소 (관리자 패널 → 시스템 정보에서 확인)
- PCS의 sslip.io 주소 (관리자 패널 → 도메인에서 확인)
옵션 비교
| 방법 | 장점 | 단점 |
|---|---|---|
| Cloudflare (권장) | DDoS 보호, IP 숨김, 자동 HTTPS, CDN, 무료 플랜 가능 | 트래픽이 Cloudflare를 통과 |
| 직접 DNS | 완전한 제어, 진정한 종단간 암호화 | IP 노출, HTTPS 직접 관리, DDoS 보호 없음 |
방법 1 — Cloudflare (권장)
Cloudflare는 권장 방법입니다. HTTPS 종료, 소스 IP 숨김, DDoS 보호를 처리하며 — 모두 무료 플랜으로 가능합니다.
1단계: Cloudflare에 도메인 추가
- cloudflare.com에서 무료 계정을 만듭니다.
- 사이트 추가를 클릭하고 도메인을 입력합니다 (예:
mycloud.com). - Free 플랜을 선택합니다.
- Cloudflare가 기존 DNS 레코드를 스캔합니다.
- 레코드를 확인하고 계속을 클릭합니다.
2단계: 네임서버 업데이트
- Cloudflare가 네임서버 2개를 보여줍니다 (예:
ada.ns.cloudflare.com,bob.ns.cloudflare.com). - 도메인 등록 기관(도메인을 구매한 곳)으로 이동합니다.
- 네임서버 또는 DNS 설정을 찾습니다.
- 기존 네임서버를 Cloudflare 네임서버 2개로 교체합니다.
- 저장합니다. 네임서버 변경은 최대 24시간이 걸릴 수 있지만 보통 1–2시간 내에 완료됩니다.
3단계: DNS 레코드 생성
Cloudflare가 도메인을 관리하면:
- Cloudflare 대시보드에서 DNS → 레코드로 이동합니다.
- 레코드 추가를 클릭합니다.
서브도메인용 (예: cloud.mycloud.com)
| 필드 | 값 |
|---|---|
| 유형 | CNAME |
| 이름 | cloud (원하는 서브도메인) |
| 대상 | sslip.io 주소 (예: 203-0-113-42.sslip.io) |
| 프록시 상태 | 프록시됨 (죽황색 구름 ON) |
루트 도메인용 (예: mycloud.com)
| 필드 | 값 |
|---|---|
| 유형 | CNAME |
| 이름 | @ |
| 대상 | sslip.io 주소 (예: 203-0-113-42.sslip.io) |
| 프록시 상태 | 프록시됨 (죽황색 구름 ON) |
와일드카드 (모든 서브도메인)
모든 서브도메인(photos.mycloud.com, files.mycloud.com 등)이 PCS를 가리키도록:
| 필드 | 값 |
|---|---|
| 유형 | CNAME |
| 이름 | * |
| 대상 | sslip.io 주소 |
| 프록시 상태 | 프록시됨 (죽황색 구름 ON) |
팁
와일드카드 레코드를 사용하면 PCS에 새 앱을 설치할 때마다 DNS 레코드를 추가하지 않아도 <앱>.mycloud.com으로 자동 접근됩니다.
4단계: SSL/TLS 구성
- Cloudflare에서 SSL/TLS → 개요로 이동합니다.
- 암호화 모드를 Full 또는 **Full (strict)**로 설정합니다.
- Full — Cloudflare와 PCS 간 트래픽 암호화 (권장)
- Full (strict) — PCS 인증서도 검증 (PCS에 유효한 인증서 필요)
- Flexible은 사용하지 마세요 — Cloudflare와 PCS 간 연결이 암호화되지 않습니다.
5단계: PCS 구성
- 관리자 패널 → 도메인으로 이동합니다.
- 도메인 설정에 커스텀 도메인을 입력합니다.
- PCS가 커스텀 도메인의 요청을 수락하도록 Caddy를 구성합니다.
방법 2 — 직접 DNS (Cloudflare 없이)
Cloudflare를 사용하지 않고 완전한 제어를 원하는 경우:
1단계: DNS 레코드 생성
도메인 등록 기관 또는 DNS 제공업체에서:
| 필드 | 값 |
|---|---|
| 유형 | A |
| 이름 | @ (또는 서브도메인) |
| 값 | PCS의 공인 IP 주소 |
| TTL | 300 (5분, IP 변경 시 빠른 업데이트) |
2단계: HTTPS 인증서
Cloudflare 없이는 HTTPS를 직접 처리해야 합니다:
- PCS의 Caddy는 다음 조건이 충족되면 자동으로 Let's Encrypt 인증서를 받을 수 있습니다:
- 포트 80과 443이 인터넷에서 접근 가능
- 도메인 DNS가 PCS를 올바르게 가리킴
- ISP가 포트를 차단하면 이 방법은 작동하지 않습니다 — 대신 Cloudflare를 사용하세요.
문제 해결
| 문제 | 해결 방법 |
|---|---|
| "리다이렉트가 너무 많습니다" 오류 | SSL/TLS 모드를 Flexible가 아닌 Full로 설정하세요. |
| 502 Bad Gateway | PCS가 다운되었거나 Caddy가 실행 중이 아님. 관리자 패널 → 상태에서 확인. |
| DNS가 해석되지 않음 | 전파를 기다리세요 (최대 24시간). nslookup yourdomain.com으로 확인. |
| 인증서 오류 | 직접 DNS 사용 시 포트 80, 443이 열려 있는지 확인. Cloudflare 사용 시 프록시가 활성화되어 있는지 확인. |
| 커스텀 도메인에서 앱에 접근 불가 | 관리자 패널 → 도메인에서 PCS가 커스텀 도메인을 수락하도록 구성되었는지 확인. |
개인정보 보호 참고
Cloudflare 옵션을 사용하면 Cloudflare의 엣지가 HTTPS를 종료하며 전송 중 트래픽을 볼 수 있습니다. 엄격한 종단간 암호화를 원하면 sslip.io 주소를 직접 사용하세요.
전체 비교는 TLS 및 개인정보 보호를 참조하세요.
팁
PCS의 sslip.io 주소와 공인 IP는 관리자 패널 → 시스템 정보에 표시됩니다. 이 페이지의 예시(203-0-113-42, mycloud.com)는 예시일 뿐입니다 — 실제 값을 사용하세요.