본문으로 건너뛰기
버전: 4.6.1-saas

Cloudflare Agent

개요

NetFUNNEL Cloudflare 에이전트는 Cloudflare Workers에서 NetFUNNEL 서버와 통신하는 NetFUNNEL 전용 클라이언트입니다.

Worker 환경 설정

Cloudflare의 공식 문서를 참고하여 Cloudflare Worker의 환경을 설정하는 것이 가장 우선입니다.

Cloudflare의 공식 문서 상 Worker 프로젝트를 설정하는 내용을 확인 후 안내에 따라 Worker 환경을 설정합니다.

Worker CLI 가이드 문서: CLI

Worker 생성 및 설정

Worker 생성

  • [Workers 및 Pages]로 이동합니다.
  • Workers에서 [생성]을 클릭합니다.
  • [Hello world]를 클릭합니다.
  • 배포하여 추가합니다.

Worker에 에이전트 적용

  • 우측 상단의 [코드 편집]을 클릭합니다.
  • https://agent-lib.stclab.com/agents/cdn/cloudflare/netfunnel-cloudflare-agent-latest.js 에서 netfunnel-cloudflare-agent.js 파일을 다운받으세요.
  • 코드 편집기의 왼쪽 탭에서 [Explore]를 클릭하여 파일 목록이 보이도록 해주세요.
  • netfunnel-cloudflare-agent.js 파일을 넣어주세요.
  • worker.js 파일을 열고 아래 코드를 작성해주세요.
import handleEvent from './netfunnel-cloudflare-agent.js'
export default {
async fetch(request, env, ctx) {
return await handleEvent(request, env, ctx);
},
};
  • 우측 상단의 [배포] 버튼을 클릭하여 워커를 배포합니다.

Worker 설정

  • 생성한 Worker를 선택하고 [설정] 메뉴로 들어갑니다.
  • 도메인 및 경로에서 [+추가]를 클릭합니다.
  • [경로]를 클릭합니다.
  • [영역]에서 도메인을 선택하고, [경로]에 workers가 실행될 도메인을 입력합니다. (끝에 /*를 추가해야 하위 페이지에서도 Worker가 동작합니다.)
  • [실패 시 열림(진행)]을 선택합니다.
  • [경로 추가]를 클릭합니다.
  • CLIENT_ID 변수를 추가합니다.
정보

CLIENT_ID는 NetFUNNEL 콘솔에서 확인하세요.

  • 변수를 추가한 후 [배포]를 클릭합니다.

도메인 설정

3.2 에서 설정한 도메인을 CNAME으로 설정하여 해당 경로로 요청을 했을때 Worker가 실행될 수 있도록 설정해줍니다.

경고

반드시 Proxy 타입으로 설정해야 합니다.

부가 기능

Good Bot 예외 처리

Worker 설정을 통해 특정 User-Agent 값이 포함되어 있을 경우 에이전트 동작으로부터 예외 처리할 수 있습니다.

Worker 설정

  • [Workers 및 Pages]에서 에이전트가 적용된 Worker를 선택하고 [설정] 탭으로 이동합니다.
  • 아래 표를 참고하여 변수 및 암호에 환경 변수를 추가합니다.
정보

Google, Microsoft, Yahoo, Apple, Facebook 봇을 예외 처리한 예시입니다.

유형이름
텍스트GOOD_BOTSGooglebot, Bingbot, Slurp, Applebot, facebookexternalhit
  • 추가 후 [배포]를 클릭합니다.

진입 키 자동 반납 처리

NetFUNNEL Cloudflare 에이전트는 진입 후 넷퍼넬 키를 자동으로 반납하여 다음 대기자가 진입할 수 있도록 처리하고 있습니다. 만약, 넷퍼넬 키를 바로 반납하지 않고 세그먼트에서 설정한 타임아웃 시간에 넷퍼넬 키를 반납하고 싶은 경우에 사용할 수 있는 기능입니다.

Worker 설정

  • [Workers 및 Pages]에서 에이전트가 적용된 Worker를 선택하고 [설정] 탭으로 이동합니다.
  • 변수 및 암호에 환경 변수 RETURN_KEY (값: true)를 추가합니다.
정보

true(기본값)로 할 경우, 대기 완료 후 진입 시 에이전트에서 넷퍼넬 키를 자동으로 반납합니다. false로 할 경우 세그먼트에서 설정한 타임아웃 시간에 키가 반납 처리됩니다.

  • 추가 후 [배포]를 클릭합니다.

대기실 도메인 변경

NetFUNNEL 대기실 페이지의 도메인은 agent-lib.stclab.com입니다. 해당 도메인을 서비스 중인 도메인에 맞게 변경하려면 NetFUNNEL 서비스팀을 통해 원하는 도메인을 알려주시고, Worker 설정을 변경해야 합니다.

Worker 설정

  • [Workers 및 Pages]에서 에이전트가 적용된 Worker를 선택하고 [설정] 탭으로 이동합니다.
  • 아래 표를 참고하여 변수 및 암호에 환경 변수를 추가합니다.
유형이름
텍스트VWR_PAGE_DOMAINhttp(s)://{CNAME_DOMAIN} e.g. https://wait.stclab.com
  • 추가 후 [배포]를 클릭합니다.

쿠키 도메인 설정

NetFUNNEL 서버에서 발급한 키를 쿠키에 저장할 때 현재 페이지의 도메인을 기준으로 저장합니다. 만약 서로 다른 서브도메인 간에 키를 공유해야할 경우 메인 도메인이 쿠키에 저장되도록 설정합니다.

정보

develop.stclab.comstaging.stclab.com와 같이 서브도메인이 서로 다른 페이지에서 쿠키를 공유하도록 .stclab.com으로 설정합니다.

Worker 설정

  • [Workers 및 Pages]에서 에이전트가 적용된 Worker를 선택하고 [설정] 탭으로 이동합니다.
  • 아래 표를 참고하여 변수 및 암호에 환경 변수를 추가합니다.
유형이름
텍스트COOKIE_DOMAIN.{MAIN_DOMAIN} e.g. .stclab.com
  • 추가 후 [배포]를 클릭합니다.