Cloudflare 통합 가이드
NetFUNNEL Cloudflare 에이전트는 Cloudflare Workers에서 NetFUNNEL 서버와 통신하는 전용 클라이언트입니다.
1. Worker 환경 설정
Cloudflare의 공식 문서를 참고하여 Cloudflare Worker의 환경을 설정하는 것이 가장 우선입니다.
Cloudflare의 공식 문서상 Worker 프로젝트를 설정하는 내용을 확인 후 안내에 따라 Worker 환경을 설정합니다.
Worker CLI 가이드 문서
2. Worker 생성 및 설정
2.1 Worker 생성
Workers 및 Pages로 이동합니다.
Workers 생성을 클릭합니다.
Hello world를 클릭합니다.
배포하여 추가합니다.
2.2 Worker에 에이전트 적용
우측 상단의 코드 편집을 클릭합니다.
에이전트 파일을 다운로드합니다.
Download
코드 편집기의 왼쪽 탭에서 Explore를 클릭하여 파일 목록이 보이도록 해주세요.
netfunnel-cloudflare-agent-latest.js파일을 넣어주세요.worker.js파일을 열고 아래 코드를 작성해주세요.우측 상단의 배포 버튼을 클릭하여 워커를 배포합니다.
import handleEvent from './netfunnel-cloudflare-agent-latest.js';
export default {
async fetch(request, env, ctx) {
return await handleEvent(request, env, ctx);
},
};
2.3 Worker 설정
생성한 Worker를 선택하고 설정 메뉴로 들어갑니다.
도메인 및 경로에서 +추가를 클릭합니다.
경로를 클릭합니다.
영역에서 도메인을 선택하고 경로에 workers가 실행될 도메인을 넣습니다.> 끝에
/*를 추가해야 하위 페이지에서도 Worker가 동작합니다.<strong>실패 시 열림(진행)</strong>을 선택합니다.
경로 추가를 클릭합니다.
아래 표를 참고하여 변수 및 암호를 추가합니다.
변수를 추가한 후 배포를 클릭합니다.
CLIENT_ID는 NetFUNNEL 콘솔에서 확인하세요.
유형 | 이름 | 값 |
|---|---|---|
텍스트 | CLIENT_ID | {CLIENT_ID} |
3. 도메인 설정
2.3에서 설정한 도메인을 CNAME으로 설정하여 해당 경로로 요청을 했을 때 Worker가 실행될 수 있도록 설정해줍니다.
반드시 Proxy 타입으로 설정해야 합니다.
4. 부가 기능
4.1 Good Bot 예외 처리
Worker 설정을 통해 특정 User-Agent 값이 포함되어 있을 경우 에이전트 동작으로부터 예외 처리할 수 있습니다.
4.1.1 Worker 설정
Workers 및 Pages에서 에이전트가 적용된 Worker를 선택하고 설정 탭으로 이동합니다.
아래 표를 참고하여 변수 및 암호에 환경 변수를 추가합니다.
추가 후 배포를 클릭합니다.
Google, Microsoft, Yahoo, Apple, Facebook 봇을 예외 처리한 예시입니다.Googlebot, Bingbot, Slurp, Applebot, facebookexternalhit
유형 | 이름 | 값 |
|---|---|---|
텍스트 | GOOD_BOTS | Googlebot, Bingbot, Slurp, Applebot, facebookexternalhit |
4.2 진입 키 자동 반납 처리
NetFUNNEL Cloudflare 에이전트는 진입 후 넷퍼넬 키를 자동으로 반납하여 다음 대기자가 진입할 수 있도록 처리하고 있습니다. 만약 넷퍼넬 키를 바로 반납하지 않고 세그먼트에서 설정한 타임아웃 시간에 넷퍼넬 키를 반납하고 싶은 경우에 사용할 수 있는 기능입니다.
4.2.1 Worker 설정
Workers 및 Pages에서 에이전트가 적용된 Worker를 선택하고 설정 탭으로 이동합니다.
아래 표를 참고하여 변수 및 암호에 환경 변수를 추가합니다.
추가 후 배포를 클릭합니다.
유형 | 이름 | 값 |
|---|---|---|
텍스트 | RETURN_KEY | true |
true (기본값): 대기 완료 후 진입 시 에이전트에서 넷퍼넬 키를 자동으로 반납합니다.false: 세그먼트에서 설정한 타임아웃 시간에 키가 반납 처리됩니다.
4.3 대기실 도메인 변경
NetFUNNEL 대기실 페이지의 도메인은 agent-lib.stclab.com입니다. 해당 도메인을 서비스 중인 도메인에 맞게 변경하려면 NetFUNNEL 서비스팀을 통해 원하는 도메인을 알려주시고, Worker 설정을 변경해야 합니다.
4.3.1 Worker 설정
Workers 및 Pages에서 에이전트가 적용된 Worker를 선택하고 설정 탭으로 이동합니다.
아래 표를 참고하여 변수 및 암호에 환경 변수를 추가합니다.
추가 후 배포를 클릭합니다.
유형 | 이름 | 값 |
|---|---|---|
텍스트 | VWR_PAGE_DOMAIN | http(s)://{CLIENT_ID}.stclab.com |
4.4 쿠키 도메인 설정
NetFUNNEL 서버에서 발급한 키를 쿠키에 저장할 때 현재 페이지의 도메인을 기준으로 저장합니다. 만약 서로 다른 서브도메인 간에 키를 공유해야할 경우 메인 도메인이 쿠키에 저장되도록 설정합니다.develop.stclab.com과 staging.stclab.com와 같이 서브도메인이 서로 다른 페이지에서 쿠키를 공유하도록 .stclab.com으로 설정합니다.
4.4.1 Worker 설정
Workers 및 Pages에서 에이전트가 적용된 Worker를 선택하고 설정 탭으로 이동합니다.
아래 표를 참고하여 변수 및 암호에 환경 변수를 추가합니다.
추가 후 배포를 클릭합니다.
유형 | 이름 | 값 |
|---|---|---|
텍스트 | COOKIE_DOMAIN | 예시: .stclab.com |
5. 트리거 규칙 설정
대기열 제어 지점은 NetFUNNEL 콘솔의 세그먼트 트리거 규칙을 통해 설정할 수 있습니다. 사용자가 접속한 페이지의 URL과 트리거 규칙을 비교하여 일치하는 경우 대기열이 적용됩니다.
트리거 규칙 설정 방법은 트리거 규칙 설정 가이드를 참고하세요.