본문 바로가기
서버/Home Server 구축

01. CloudFlare Tunnel 환경 만들기

https://github.com/gitryk/traefik-sample

위 레포지토리를 기준으로 작성 합니다.

 

 

도메인 대쉬보드에서 계정 ID를 기록 해 둔 후 API 토큰 가져오기 클릭

 

 

토큰 생성 클릭

 

 

맨 아래 스크롤 후 사용자 설정 토큰 생성

 

 

위와 같이 설정 후 요약 계속

 

 

토큰 생성 클릭

 

 

API 토큰을 기록해 둡니다.

export ACCOUNT_ID="복사한 계정 ID"
export CLOUDFLARE_API_TOKEN="복사한 API 토큰"
export TUNNEL_NAME="원하는 터널 이름"

curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/tunnels" \
  --header 'Content-Type: application/json' \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --data "{ \"name\": \"$TUNNEL_NAME\", \"config_src\": \"cloudflare\"}"

 

명령어를 리눅스나 WSL을 이용하여 실행합니다.

 

 

출력된값을 복사합니다.

 

 

 

만들어진 터널이 있는것을 볼 수 있습니다.

 

 

https://gitryk.github.io/cloudflare-tunnel-helper/ 로 접속합니다.

 

복사한 값을 윗 텍스트 박스에 붙여놓고 Extract 버튼을 누르면 json을 만들어줍니다.

 

 

 

 

cloudflared 폴더에 있는 config.yml 파일을 수정 합니다.

방금 복사했던 터널 ID를 tunnel에 붙여 넣습니다.

 

 

그리고 hostname에 *.[본인의 도메인]으로 수정하고 저장 합니다.

 

 

 

그 후 클라우드 플레어 DNS 설정에서 위와 같이 설정 합니다.

  • 유형 : CNAME
  • 이름 : * (와일드카드를 사용할것입니다.)
  • 대상 : 아까 복사한 터널ID.cfargotunnel.com

 

 

SSL/TLS의 원본서버 메뉴를 클릭하고 인증서 생성을 누릅니다.

 

 

아래의 도메인을 추가합니다.

  • *.[본인의 도메인]
  • 본인의 루트 도메인

인증서는 15년 유효로 설정하고 생성을 누릅니다.

 

 

출력된 값을 traefik/tls 폴더로 가서

  • 원본 인증서 값을 복사해서 cf-origen.pem에 붙여넣고 저장
  • 개인 키 값을 복사해서 cf-origen.key에 붙여넣고 저장