Cloudflare Workers 연동 가이드
CDN 임베더는 Cloudflare Workers를 활용하여 콘텐츠 전송 네트워크를 통해 포렌식 워터마크가 적용된 콘텐츠를 제공합니다. 이 가이드는 도브러너 포렌식 워터마킹 구현을 위한 임베더 구성 및 배포 과정을 안내합니다.
샘플 코드는 GitHub에서 확인할 수 있습니다. CloudFlare Embedder CDK 샘플
CDN 임베더의 역할은 다음과 같습니다:
- 세션 관리자가 발급한 워터마크 토큰 검증
- 올바른 워터마크 파일 경로 확인 (사용자/세션/변형 기반)
- Cloudflare R2에서 파일을 가져와 CDN 도메인을 통해 제공
주요 구성은 다음을 통해 수행됩니다:
src/config.js– 워터마크 토큰 및 폴더 구조 구성wrangler.jsonc– Cloudflare Worker 및 R2 바인딩 구성
소스 구성 (src/config.js)
Section titled “소스 구성 (src/config.js)”배포에 적합한 설정으로 config.js 파일을 업데이트하는 것부터 시작하세요:
export const config = { "aesKey": "YOUR_DOVERUNER_SITE_KEY", "type": "unlabeled_a_variant", "availableInterval": 60000, "prefixFolder": ["folder1", "folder2"], "wmtPublicKey": "YOUR_PUBLIC_KEY", // Akamai WMT용 PEM 형식 공개 키 "wmtPassword": "YOUR_PASSWORD" // WMT 토큰 생성/검증을 위한 비밀번호}구성 매개변수
Section titled “구성 매개변수”| 매개변수 | 토큰 유형 | 설명 |
|---|---|---|
aesKey | AES | 도브러너 콘텐츠 보안 서비스에서 발급한 사이트 키 |
type | AES, JWT | 워터마크 토큰 요청 사양 유형. 기본값: unlabeled_a_variant |
availableInterval | AES, JWT | 토큰 유효 기간(밀리초 단위, 무제한 유효성을 위해 0으로 설정) |
prefixFolder | AES | 워터마크된 파일이 포함된 최상위 폴더 배열. 워터마크 토큰 요청 사양의 prefix_folder에 해당 |
wmtPublicKey | JWT | Akamai WMT 통합을 위한 PEM 형식 공개 키 |
wmtPassword | JWT | WMT 토큰 생성 및 검증을 위한 비밀번호 자격 증명 |
wmt_type 매개변수는 워터마크 토큰이 AES 암호화를 사용할지 JWT 형식을 사용할지 결정합니다. 이는 도브러너에서 워터마크 토큰을 요청할 때 제공된 사양과 일치해야 합니다.
Worker 구성 (wrangler.jsonc)
Section titled “Worker 구성 (wrangler.jsonc)”wrangler.jsonc 파일에서 Cloudflare Worker 배포 설정을 구성하세요:
{ "name": "doverunner-fwm-cdn-embedder", "main": "src/index.js", "compatibility_date": "2024-01-01",
// R2 버킷 바인딩 "r2_buckets": [ { "binding": "FWM_BUCKER", "bucket_name": "your-watermark-bucket-name" } ],
// 사용자 정의 라우트 (선택 사항) "routes": [ { "pattern": "cdn.yourdomain.com/*", "zone_name": "yourdomain.com" } ]}주요 구성 옵션
Section titled “주요 구성 옵션”- name: Cloudflare 계정 내에서 워커의 고유 식별자
- main: 워커의 진입점 경로 (일반적으로
src/index.js) - compatibility_date: API 버전 관리를 위한 Cloudflare Workers 호환성 날짜
- r2_buckets: 워터마크된 콘텐츠가 저장되는 R2 스토리지에 대한 바인딩 구성
- routes (선택 사항): 프로덕션 환경을 위한 사용자 정의 도메인 라우팅 규칙
사전 요구사항
Section titled “사전 요구사항”배포를 진행하기 전에 다음 사항을 확인하세요:
- Workers가 활성화된 Cloudflare 계정
- 워터마크된 콘텐츠 저장을 위해 생성 및 구성된 Cloudflare R2 버킷
- 개발 머신에 설치된 Node.js 및 npm
1단계: Wrangler CLI 설치
Section titled “1단계: Wrangler CLI 설치”Cloudflare Workers 배포를 관리하기 위해 Wrangler 커맨드 라인 인터페이스를 설치하세요. 자세한 설치 지침은 Wrangler 설치 가이드를 참조하세요.
bash npm install -g wrangler
2단계: 개발자 테스트
Section titled “2단계: 개발자 테스트”프로덕션에 배포하기 전에 로컬 개발 환경에서 워커를 테스트하세요:
bash npm run dev
또는
wrangler dev
이 명령은 http://localhost:8787/에서 접근 가능한 로컬 개발 서버를 시작하여 프로덕션 배포 전에 임베더 기능을 테스트할 수 있습니다.
3단계: 프로덕션 배포
Section titled “3단계: 프로덕션 배포”테스트가 완료되면 워커를 Cloudflare 엣지 네트워크에 배포하세요:
bash npm run deploy
또는
wrangler deploy
배포가 성공하면 Cloudflare는 다음 형식의 워커 URL을 제공합니다:
https://worker-name.your-subdomain.workers.dev워터마크 파일 폴더 구조
Section titled “워터마크 파일 폴더 구조”prefixFolder 구성 매개변수에 지정된 폴더 구조에 따라 R2 스토리지에 워터마크가 적용된 콘텐츠를 구성하세요. 최상위 폴더는 워터마크 토큰 요청 사양에 정의된 prefix_folder 값과 일치해야 합니다.
추가 리소스
Section titled “추가 리소스”CDN 임베더 구성 또는 배포에 대한 추가 지원이 필요한 경우 도브러너 지원팀에 문의하거나 포렌식 워터마킹 임베딩 문서를 참조하세요.