Cloudflare Tunnel 로 손쉬운 도메인&SSL관리

Cloudflare Tunnel 로 손쉬운 도메인&SSL관리

1. 예전 방식의 불편함

개인 서버나 웹서버를 공개하려면 아이피와 포트, Nginx, 리버스 프록시, DNS등 머리아픈게 너무 많았다. 서브도메인 연결은 물론, 한 번 잘못 설정하면 접속이 막히기도 했다. 특히 SSL 인증서 적용은 늘 번거로운 일이었다.

2. 인증서 갱신은 왜….

무료 SSL을 쓰려면 대부분 Let’s Encrypt를 이용했는데, 90일마다 갱신해야 했다.
자동화 스크립트를 써도 가끔 실패하고, 만료일을 놓치면 웹사이트가 ‘보안되지 않음’으로 표시되었다. 결국 다음과 같은 명령을 주기적으로 실행하는 것이 일상이었다.

sudo certbot renew
sudo systemctl reload nginx

이 단순한 과정조차 오류나 변수가 수시로있었고, 웹사이트가 늘어나때마다 관리 피로도가 급상승했다.

3. Cloudflare Tunnel의 등장

이런 문제를 한 번에 해결해주는 것이 Cloudflare Tunnel이다.
서버의 실제 IP를 공개하지 않아도 외부 접속이 가능하며, SSL 인증도 자동으로 처리된다.
인증서 갱신이나 Nginx 리로드 같은 절차가 완전히 사라진다.

4. 추가적인 장점들

Cloudflare Tunnel은 단순히 SSL 문제를 해결하는 것을 넘어 여러 이점을 제공한다.

  • 보안 강화: 서버 IP를 숨겨 DDoS 공격을 방어
  • 간단한 설정: 포트포워딩, 방화벽 설정 불필요
  • 자동 재연결: 네트워크 끊김 시 자동 복원
  • 다중 서비스 지원: 여러 애플리케이션을 손쉽게 연결
  • 무료 사용 가능: 별도 비용 없이 Cloudflare 계정만으로 가능

5. 비유로 이해하는 Cloudflare Tunnel

터널 방식을 사무실 전화 내선과 비교하면 이해가 쉽다.
예전 방식은 외부에서 직접 사무실 안 책상 전화로 전화가 들어오도록 건물 입구(방화벽) 문을 열어두는 것이다.
반면 터널 방식은 리셉션(Cloudflare)이 전화를 먼저 받고, 필요한 내선(서버의 특정 포트)으로만 안전하게 연결을 넘긴다. 건물 입구는 닫혀 있어도 된다.

핵심은 두 가지다.
첫째, 외부와 직접 맞닿지 않는다.
둘째, 인증(SSL)과 연결 유지 같은 귀찮은 관리 업무를 Cloudflare가 맡는다.
그래서 초심자에게도 안전하고 단순한 구성이 된다.

6. 설치와 설정

Cloudflare Tunnel은 이제 대부분의 설정을 웹 콘솔에서 진행한다.
로컬 서버에는 단 한 번의 연결 명령만 실행하면 되고,
도메인 연결과 서비스 매핑은 모두 Cloudflare Zero Trust Dashboard에서 관리된다.


6-1. 사전 준비

먼저 서버 환경을 점검하고, cloudflared를 설치한다.
Cloudflare Tunnel은 이 프로그램을 통해 서버와 Cloudflare 네트워크를 연결한다.

1) 서버준비

  • Ubuntu 24.04 LTS 환경을 기준으로 한다.
  • Cloudflare 계정과 연결된 도메인이 있어야 한다.
  • 서버 내부에서 이미 실행 중인 웹 서비스의 포트를 확인한다.
    (예 : 개인용 next cloud, wordpress, ghost….)

2) cloudflared 설치

Cloudflare가 공식 지원하는 패키지를 이용하면 된다.

sudo apt update
sudo apt install cloudflared -y

설치가 완료되면 버전을 확인한다.

cloudflared --version

3) 서비스 연결 준비

설치가 끝났다면, Cloudflare 웹 대시보드(https://one.dash.cloudflare.com/)에 로그인한다.
좌측 메뉴에서 Networks → Tunnels로 이동해 터널을 생성할 준비를 한다.

이제 서버는 터널 명령을 실행할 준비가 된 상태다.
다음 단계에서는 실제로 터널을 만들고, 대시보드에서 연결을 설정한다.

6-2. 터널 생성

1) 좌측 메뉴에서 Networks → Tunnels로 이동한다.
2) Create a tunnel 버튼을 클릭한다.
3) 터널 이름을 입력하고 저장한다. (예: my-tunnel)
4) 생성이 완료되면 Cloudflare가 서버 연결용 토큰(Token)을 자동 발급한다.
5) 화면에 표시된 명령어를 복사하여 서버 터미널에서 실행한다.

sudo cloudflared service install 어쩌구저쩌구난수표시(토큰)

이 명령을 실행하면 서버와 Cloudflare 간 안전한 연결이 즉시 만들어진다.
추가 설정이나 파일 편집은 필요 없다.

6-3. 대시보드에서 서비스 매핑 설정

터널이 연결되면, 웹 콘솔에서 트래픽을 어떤 서비스로 보낼지 지정할 수 있다.

  1. 생성한 터널 이름을 클릭한다.
  2. 상단 탭 중 Public Hostnames로 이동한다.
  3. Add a public hostname 클릭.
  4. 다음 정보를 입력한다.
    • 하위도메인 : 예) app.domain.com 이라면 “app”
    • 도메인 설정 : 예) domain.com 변경
    • 서비스 -> 형식에 (http://) 설정
      내부시스템과 연결할 것이므로 내부에서는 http://로 통신하기때문이며, 외부와 연결할때는 https와 가변적으로 선택해도됨
    • URL : 앞서 확인했던 내부시스템의 포트연결. 예) localhost:8080
  1. 설정 완료

저장하면 Cloudflare가 자동으로 CNAME 레코드를 생성하고,
해당 호스트네임으로 들어오는 요청을 터널을 통해 서버로 전달한다.

6-4. 접속 및 연결 상태 확인

터널이 제대로 작동하는지 확인하려면 서버에서 다음 명령을 실행한다.

cloudflared tunnel list

이 명령은 현재 서버에 연결된 터널의 이름과 상태를 표시되는지 확인한다.
웹에서는 “상태” 값에 “정상” 으로 초록불이 들어온다

6-5. 여러 서비스 연결

하나의 터널에서 여러 애플리케이션을 연결할 수 있다.
예를 들어 다음과 같이 반복 등록하면 된다.

  • app.example.comhttp://localhost:8080
  • api.example.comhttp://localhost:3000
  • grafana.example.comhttp://localhost:3001

각 항목은 Add public hostname 버튼을 눌러 추가한다.
Cloudflare가 자동으로 도메인 레코드와 트래픽 라우팅을 관리한다.

6-6. 관리 팁

  • 모든 설정은 대시보드에서 변경 가능하다.
  • 서브도메인, 내부 서비스 주소, 접근 제한 정책 등을 실시간으로 수정할 수 있다.
  • DNS 레코드나 SSL 인증서는 Cloudflare가 자동으로 처리한다.
  • 필요 시 Access Policy 기능으로 특정 사용자나 이메일 도메인에 접근을 제한할 수 있다.

7. 결론 - 복잡함의 제거

Cloudflare Tunnel을 쓰면서 복잡함이 제거되었고 클라우드플레어 안에서 모든 도메인을 관리, 서브도메인까지 관리하는 편한 상태가 되었다.
이전에는 서버 공개를 위해 수많은 설정이 필요했지만, 이제는 단 한 줄의 명령으로 연결을 완성할 수 있다.

개인 개발자에게는 단순함이,
비즈니스 사용자에게는 안정성이 가장 큰 매력이다.

아이조아.

Read more

페블 (Pebble) 이 -완전히-부활했다

페블 (Pebble) 이 -완전히-부활했다

검색자를 위한 한줄요약 페블 스마트워치가 부활하였으니 구형 제품 갖고계신 사람들은 "https://repebble.com/app" 사이트에 가서 새 앱을 다운받고 펌웨어를 업하십시오!! 애증의 페블, 애정의 페블 페블은 2012년에 출시되어 2016년까지 판매되었던 스마트워치의 시조격인 아이템이다. 물론 그전부터 “손목에 두르는 디스플레이”라는 개념으로는 다양한 장치들이 있었지만, 2025년이 된 오늘 기준으로 볼

DEVONthink 4 출시와 인공지능

DEVONthink 4 출시와 인공지능

옛날 옛날 Devonthink 3를 쓰던 시절에… 꽤 오랫동안 DEVONthink를 써왔다. 이 앱을 오래 써온 사람이라면 알겠지만, DEVONthink는 늘 묵직한 도구였다. 할 수 있는 건 많은데, 친절하지는 않았고, 대신 “네가 생각 안 하면 아무 일도 안 일어난다”는 껀방진 태도의 서비스 느낌이랄까.. 그래서 DEVONthink 4 베타에 참여하며 인공지능이 붙는것을 보고 “이제는

맥북 프로 2011~12년 15인치의 그래픽카드 냉납현상

맥북 프로 2011~12년 15인치의 그래픽카드 냉납현상

홈서버용 낡은 맥북 창고에 굴러다니던 올드맥 중에 2012년 15인치 맥북 프로가 한 대 있었다. 문제는 2011년부터 2012년 사이에 출시된 맥북 프로 대짜들은 시간이 지나면 그래픽카드 냉납 현상이 발생한다는 점이다. 거의 100% 발생하는 이슈이며, 시간이 지나면 갑자기 모니터가 안 보이거나, 부팅이 안 되거나, 부팅하는 데 시간이 엄청 오래 걸리거나 등등, 이

Ubuntu + Cloudflared + Dify.ai - 셀프호스트 AI 환경 구축기

Ubuntu + Cloudflared + Dify.ai - 셀프호스트 AI 환경 구축기

1. 개인화된 인공지능 욕심 인공지능을 만지작거리다 보니 자연스럽게 욕심이 생겼다. 대부분의 인공지능 사용자가 같은 마음 같다. 자신만의 자료를 중심으로 LLM을 활용하고 싶은 마음이다. 결국 이 욕심은 ‘셀프호스트(Self-host)’의 방향으로 이어진다. 즉, 클라우드 서비스가 아닌 내가 직접 운영하는 서버 위에 나만의 인공지능을 띄워두는 것이다. 이런 셀프호스트 환경에서는 최근 노코드(No-code)