콘텐츠로 이동

Cloudflare Workers 연동 가이드

CDN 임베더는 Cloudflare Workers를 활용하여 콘텐츠 전송 네트워크를 통해 포렌식 워터마크가 적용된 콘텐츠를 제공합니다. 이 가이드는 도브러너 포렌식 워터마킹 구현을 위한 임베더 구성 및 배포 과정을 안내합니다.

샘플 코드는 GitHub에서 확인할 수 있습니다. CloudFlare Embedder CDK 샘플

CDN 임베더의 역할은 다음과 같습니다:

  • 세션 관리자가 발급한 워터마크 토큰 검증
  • 올바른 워터마크 파일 경로 확인 (사용자/세션/변형 기반)
  • Cloudflare R2에서 파일을 가져와 CDN 도메인을 통해 제공

주요 구성은 다음을 통해 수행됩니다:

  • src/config.js – 워터마크 토큰 및 폴더 구조 구성
  • wrangler.jsonc – Cloudflare Worker 및 R2 바인딩 구성

배포에 적합한 설정으로 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 토큰 생성/검증을 위한 비밀번호
}
매개변수토큰 유형설명
aesKeyAES도브러너 콘텐츠 보안 서비스에서 발급한 사이트 키
typeAES, JWT워터마크 토큰 요청 사양 유형. 기본값: unlabeled_a_variant
availableIntervalAES, JWT토큰 유효 기간(밀리초 단위, 무제한 유효성을 위해 0으로 설정)
prefixFolderAES워터마크된 파일이 포함된 최상위 폴더 배열. 워터마크 토큰 요청 사양의 prefix_folder에 해당
wmtPublicKeyJWTAkamai WMT 통합을 위한 PEM 형식 공개 키
wmtPasswordJWTWMT 토큰 생성 및 검증을 위한 비밀번호 자격 증명

wmt_type 매개변수는 워터마크 토큰이 AES 암호화를 사용할지 JWT 형식을 사용할지 결정합니다. 이는 도브러너에서 워터마크 토큰을 요청할 때 제공된 사양과 일치해야 합니다.

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"
}
]
}
  • name: Cloudflare 계정 내에서 워커의 고유 식별자
  • main: 워커의 진입점 경로 (일반적으로 src/index.js)
  • compatibility_date: API 버전 관리를 위한 Cloudflare Workers 호환성 날짜
  • r2_buckets: 워터마크된 콘텐츠가 저장되는 R2 스토리지에 대한 바인딩 구성
  • routes (선택 사항): 프로덕션 환경을 위한 사용자 정의 도메인 라우팅 규칙

배포를 진행하기 전에 다음 사항을 확인하세요:

  • Workers가 활성화된 Cloudflare 계정
  • 워터마크된 콘텐츠 저장을 위해 생성 및 구성된 Cloudflare R2 버킷
  • 개발 머신에 설치된 Node.js 및 npm

Cloudflare Workers 배포를 관리하기 위해 Wrangler 커맨드 라인 인터페이스를 설치하세요. 자세한 설치 지침은 Wrangler 설치 가이드를 참조하세요.

bash npm install -g wrangler

프로덕션에 배포하기 전에 로컬 개발 환경에서 워커를 테스트하세요:

bash npm run dev 또는 wrangler dev

이 명령은 http://localhost:8787/에서 접근 가능한 로컬 개발 서버를 시작하여 프로덕션 배포 전에 임베더 기능을 테스트할 수 있습니다.

테스트가 완료되면 워커를 Cloudflare 엣지 네트워크에 배포하세요:

bash npm run deploy 또는 wrangler deploy

배포가 성공하면 Cloudflare는 다음 형식의 워커 URL을 제공합니다:

https://worker-name.your-subdomain.workers.dev

prefixFolder 구성 매개변수에 지정된 폴더 구조에 따라 R2 스토리지에 워터마크가 적용된 콘텐츠를 구성하세요. 최상위 폴더는 워터마크 토큰 요청 사양에 정의된 prefix_folder 값과 일치해야 합니다.

CDN 임베더 구성 또는 배포에 대한 추가 지원이 필요한 경우 도브러너 지원팀에 문의하거나 포렌식 워터마킹 임베딩 문서를 참조하세요.