본문으로 건너뛰기

터널 서버 개요

Connect Base 터널 서버는 로컬에서 실행 중인 서비스를 인터넷에 노출할 수 있게 해주는 기능입니다. ngrok과 유사하게 작동하며, WebSocket을 통해 안전하게 트래픽을 릴레이합니다.

주요 특징

  • 간편한 설정: 별도의 설치 없이 npx로 바로 실행
  • 보안 연결: WebSocket 기반 암호화된 통신
  • 플랜별 제한: 사용 중인 플랜에 따른 타임아웃 및 바디 크기 제한
  • 자동 재연결: 연결이 끊어져도 자동으로 재연결 시도
  • HTTP 지원: GET, POST, PUT, DELETE 등 모든 HTTP 메서드 지원

사용 사례

  • 로컬 개발 서버 공개: React, Next.js 등 개발 서버를 외부에서 접근
  • 웹훅 테스트: Stripe, GitHub 등의 웹훅을 로컬에서 수신
  • GPU 서버 노출: GPU를 사용하는 ML 모델 서버(Gradio, Stable Diffusion 등)를 공유
  • API 테스트: 로컬 API 서버를 외부 클라이언트에서 테스트
  • 모바일 앱 개발: 로컬 백엔드를 모바일 기기에서 접근

동작 방식

                     Internet
                         │
                         ▼
    ┌─────────────────────────────────────┐
    │     tunnel.connectbase.world        │
    │         (터널 서버)                   │
    └─────────────────────────────────────┘
                         │
                    WebSocket
                         │
                         ▼
    ┌─────────────────────────────────────┐
    │     Your Local Machine              │
    │   (npx connectbase tunnel)   │
    │              │                       │
    │              ▼                       │
    │     localhost:3000                   │
    │      (로컬 서버)                      │
    └─────────────────────────────────────┘
  1. CLI가 터널 서버에 WebSocket 연결
  2. 고유한 터널 URL 발급 (예: https://tunnel.connectbase.world/abc12345)
  3. 외부 요청이 터널 URL로 들어오면 WebSocket을 통해 로컬로 전달
  4. 로컬 서버의 응답을 다시 WebSocket을 통해 외부로 반환