대시보드를 안전하게 공개하기: Claude Code, Codex, OpenCode를 위한 Cloudflare Tunnel vs Tailscale Funnel vs ngrok 비교

셀프 호스팅한 대시보드에 휴대폰으로 접속하는 세 가지 방법의 실용적인 비교와 각각의 트레이드오프(신뢰 경계, 인증, HTTPS, 운영 복잡도).

기준 버전
CLI
0.2.17
프리뷰 ref
a2c45c8

직접 관리하는 머신에서 Claude Code, Codex, OpenCode를 돌리고 있다면, 다음에 떠오르는 생각은 뻔합니다.

"휴대폰으로 확인하고 싶다."

그리고 이어지는 위험한 생각:

"그냥 포트 하나 열면 되지."

그렇게 해서 인증이 어설픈 대시보드가 인터넷에 공개됩니다.

그래서 이 가이드는 같은 바람을 더 안전하게 이루는 방법을 다룹니다.

인바운드 포트를 열지 않고, 휴대폰에서 열 수 있는 HTTPS URL 만들기.

많이 쓰는 도구는 세 가지입니다.

  • Cloudflare Tunnel
  • Tailscale Funnel
  • ngrok

모두 동작합니다.

하지만 신뢰 경계와 실패 방식은 크게 다릅니다.

요약

  1. "내 사설 네트워크 안에서만"이면 보통 Tailscale Serve / Funnel이 간단합니다.
  2. 강력한 신원 확인과 함께 인터넷에 공개하려면 Cloudflare Tunnel과 Cloudflare Access 조합이 흔한 패턴입니다.
  3. "지금 당장 URL이 필요하다"면 ngrok이 여전히 흔한 기본 선택입니다.
  4. 공개하려는 대시보드가 Happier 웹 UI라면 브라우저 암호화 제약을 기억하세요. 휴대폰 원격 접속은 HTTPS(보안 컨텍스트)여야 합니다.

문제

세 가지를 동시에 원합니다.

  • 휴대폰에서 열 수 있는 URL
  • HTTPS(보안 컨텍스트)
  • 방화벽에 인바운드 구멍을 내지 않기

어려운 점은 여기서 말하는 "안전"이 TLS만이 아니라는 것입니다.

다음도 포함됩니다.

  • 누가 그 URL에 접근할 수 있는지
  • 어떻게 인증하는지
  • 터널 자격 증명이 유출되면 어떻게 되는지

일반적인 방법과 트레이드오프

  • 포트 열기: 빠르지만 무모합니다.
  • LAN 안에서만 접속: 안전하지만, 밖에 있는 휴대폰에서는 안 됩니다.
  • 인증 없는 터널: 포트를 여는 것보다는 조금 낫지만 여전히 무모합니다.

그래서 "휴대폰 접속"을 신원과 네트워크 설계의 문제로 보면 도움이 됩니다.

선택지 A: Cloudflare Tunnel

Cloudflare Tunnel은 아웃바운드 전용입니다. 커넥터가 Cloudflare 쪽으로 연결합니다.

사람들이 좋아하는 이유:

  • 인바운드 포트가 필요 없다
  • Cloudflare Access로 SSO, 디바이스 상태 확인, 정책을 쓸 수 있다

트레이드오프:

  • 엣지로서 Cloudflare를 신뢰해야 한다
  • DNS와 Access 정책을 관리해야 한다

선택지 B: Tailscale Funnel

Funnel은 Tailscale을 통해 HTTPS 엔드포인트를 공개합니다.

사람들이 좋아하는 이유:

  • tailnet에 기본으로 통합되어 있다
  • 오리진 IP를 숨긴다

트레이드오프:

  • 제약과 정책 요구 사항이 있다
  • Funnel(공개)과 Serve(tailnet 전용)를 헷갈리기 쉽다

선택지 C: ngrok

ngrok은 URL을 빠르게 얻는 방법입니다.

트레이드오프:

  • 사용량 제한과 요금이 제약이 된다
  • 운영 환경에 가까운 대시보드에는 강력한 인증이 필요하다

Happier의 위치(보안 컨텍스트와 Tailscale Serve)

특히 Happier 웹 UI를 공개한다면 추가 제약이 있습니다.

최신 브라우저는 일부 암호화 기능을 보안 컨텍스트에서만 허용합니다.

http://localhost는 해당됩니다.

http://<lan-ip>와 http://<tailscale-ip>는 해당되지 않습니다.

그래서 HTTPS가 필요합니다.

Happier가 권장하는 원격 접속 경로는 Tailscale Serve로 https://*.ts.net URL을 얻는 것입니다.

관련 가이드

mobilesecuritytunnelscloudflaretailscalengrok
마지막 업데이트: 2026-10-26