9. 커스텀 도메인 연결하기
기본으로 제공되는 *.workers.dev 대신, 여러분이 소유한 도메인으로 Worker를 서비스하는 방법입니다.
9.1 사전 조건
도메인이 Cloudflare에 등록되어 있어야 합니다 (네임서버가 Cloudflare로 연결되어 있어야 함). 아직 도메인이 없다면 Cloudflare Registrar나 다른 등록기관에서 구매한 뒤 Cloudflare에 사이트로 추가하면 됩니다.
9.2 방법 1 — 대시보드에서 연결
- Cloudflare 대시보드 → Workers & Pages → 배포한 Worker 선택
- Settings → Domains & Routes 탭 이동
- Add → Custom Domain 선택 후 원하는 서브도메인 입력 (예:
api.example.com) - 저장하면 자동으로 DNS 레코드가 생성되고 SSL 인증서가 발급됩니다.
9.3 방법 2 — wrangler.jsonc에서 라우트 설정
jsonc
{
"name": "cloudflare-workers-course-sample",
"main": "src/index.js",
"compatibility_date": "2024-11-01",
"routes": [
{
"pattern": "api.example.com/*",
"custom_domain": true
}
]
}
설정 후 다시 배포하면 라우트가 적용됩니다.
bash
npx wrangler deploy
9.4 여러 경로 패턴 매칭하기
전체 도메인이 아니라 특정 경로에만 Worker를 붙이고 싶다면 zone 기반 라우트를 사용할 수 있습니다.
jsonc
{
"routes": [
{ "pattern": "example.com/api/*", "zone_name": "example.com" }
]
}
이렇게 하면 example.com/api/*로 오는 요청만 Worker가 처리하고, 나머지 경로는 기존 웹사이트(Cloudflare 뒤에 있는 오리진 서버)가 그대로 처리합니다.