Tech Info Log

Ngrok 완벽 가이드: 개념, 설치, 사용법 및 Docker 활용법

TechLogbook 2025. 3. 6. 17:26

🔹 Ngrok이란?

Ngrok은 로컬에서 실행 중인 웹 애플리케이션을 외부에서 접근 가능하도록 해주는 터널링 서비스입니다. 방화벽, NAT(Network Address Translation) 또는 동적 IP 환경에서도 쉽게 사용할 수 있으며, HTTPS, TCP, TLS 등의 프로토콜을 지원합니다.

🔹 Ngrok의 주요 기능

  • 로컬 서버를 인터넷에 노출 – 방화벽 없이 외부 접속 가능
  • HTTPS 지원 – 자동으로 HTTPS 적용
  • Webhook 테스트 – GitHub, Stripe, Twilio 등의 Webhook을 로컬에서 테스트 가능
  • TCP/UDP/TLS 지원 – SSH 원격 접속, 게임 서버, 데이터베이스 터널링 지원
  • 트래픽 모니터링 및 디버깅 – 실시간 요청 및 응답 확인 가능

🔹 Ngrok 설치 및 사용법

1️⃣ Ngrok 설치

Windows/macOS/Linux에서 설치하는 방법:

# macOS
brew install ngrok/ngrok/ngrok

# Windows
choco install ngrok

2️⃣ 인증 토큰 등록

Ngrok 사용을 위해 계정 가입 후 API 토큰을 등록해야 합니다.

ngrok config add-authtoken YOUR_AUTH_TOKEN

3️⃣ 로컬 서버 공개하기

ngrok http 8080

4️⃣ TCP 및 기타 프로토콜 지원

# SSH 원격 접속
ngrok tcp 22

# HTTPS 서버 노출
ngrok tls -hostname=mydomain.com 443

🔹 Ngrok 유료 플랜 및 기능 비교

기능 무료(Free) 기본(Starter) 프로(Pro) 비즈니스(Business)
가격 (월 기준) $0 $8 $25 $100
고정된 서브도메인
사용자 지정 도메인

🔹 Docker에서 Ngrok 사용하기

1️⃣ Docker에 Ngrok 설치

docker pull ngrok/ngrok

2️⃣ Docker 컨테이너에서 Ngrok 실행

docker run --rm -it ngrok/ngrok http 8080

3️⃣ Docker Compose로 자동 실행

version: '3'
services:
  ngrok:
    image: ngrok/ngrok
    restart: always
    command:
      - http
      - 8080
    environment:
      NGROK_AUTHTOKEN: "YOUR_AUTH_TOKEN"
    network_mode: "host"

🔹 결론

🚀 Ngrok은 개발자들에게 필수적인 도구로, 특히 Webhook 테스트, 원격 서버 액세스, 컨테이너 서비스 노출에 강력한 기능을 제공합니다.

💡 무료 버전은 간단한 테스트에 적합하지만, 고정된 도메인 및 속도 제한이 없는 환경이 필요하면 유료 플랜을 고려해보세요!

👉 자세한 정보 및 최신 가격은 Ngrok 공식 사이트에서 확인하세요!