DevOps

Cloudflare | Cloudflare Tunnel에 fastapi 연결해 배포하기(WSL2), 클라우드플레어 터널 사용법, cloudfla

토오오끼 2026. 1. 3. 00:35
728x90
반응형

 
cloudflare에서 구매했던 도메인으로 사이드 프로젝트를 배포하기 위해 cloudflare tunnel을 사용해 내 fastapi를 연결했다.
 

아래 과정은 전부 fastapi 실행 경로에서 실행하였다.

 

1. Cloudflare Tunnel 설치

curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o cloudflared.deb
sudo dpkg -i cloudflared.deb

위 명령어를 이용해서 wsl2에서 cloudflare tunnel을 설치 해 준다.
 
 

2. 설치 확인

cloudflared --version

> cloudflared version 2025.11.1 (built 2025-11-07-16:59 UTC)
설치가 완료되면 버전이 출력된다.
 
 

3. cloudflare 인증

cloudflared login

위 명령어 입력 시 인증이 가능한 링크가 제공되는데 이 링크를 접속하면 아래처럼 도메인 연결 페이지로 연결된다.

여기서 연결할 도메인을 선택하면

인증되면 Cloudflare가 자동으로 토큰 파일을 생성해준다.
 
 

4. 터널 생성

cloudflared tunnel create talk-report

위 명령어를 입력하면 터널 ID가 출력된다.

이 ID를 앞으로 쓸 것이니 따로 기록 해 두는 게 좋다.
 
 

5. 로컬 FastAPI 주소를 터널과 연결

mkdir ~/.cloudflared
vim ~/.cloudflared/config.yml

위 경로에서 config 파일을 생성한 후 아래 내용을 입력 해 줘야 한다.

tunnel: "터널ID"
credentials-file: /home/yourusername/.cloudflared/터널ID.json

ingress:
  - hostname: 내 도메인 주소
    service: http://localhost:8000
  - service: http_status:404

이렇게 설정 해 주면 Cloudflare DNS에서 자동으로 생성된다.
 
 

6. Cloudflare DNS 자동 설정

cloudflared tunnel route dns "도메인 주소 이름" "내 도메인 주소"

Cloudflare DNS 에 아래와 같은 레코드가 자동 생성된다.

 
 

7. 터널 실행

cloudflared tunnel run "도메인 주소 이름"

터미널이 다음과 같이 출력되면 제대로 실행이 된 것이다.

 
 

8. 도메인으로 접속

fastapi를 실행 시킨 후 도메인으로 접속하면 localhost:8000으로 실행했을 때랑 동일한 화면으로 연결 될 것이다!
화면이 제대로 뜬다면 외부에서 이제 fastapi로 접속이 가능해 진 것!!
 


물론 내 pc가 물리적인 서버가 되는 거라 항상 내 pc를 켜 놔야만 해당 도메인으로 접속이 가능하다는 단점이 있지만 무료로 배포 해 보는 경험을 해 보기엔 딱인 것 같다.
나중에는 클라우드로 옮겨서 언제든지 도메인으로 접속 가능하도록 하는 것이 목표이다!

728x90
반응형