터널 서버 개요
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 │
│ (로컬 서버) │
└─────────────────────────────────────┘- CLI가 터널 서버에 WebSocket 연결
- 고유한 터널 URL 발급 (예:
https://tunnel.connectbase.world/abc12345) - 외부 요청이 터널 URL로 들어오면 WebSocket을 통해 로컬로 전달
- 로컬 서버의 응답을 다시 WebSocket을 통해 외부로 반환