본문 바로가기
Cloud

ngrok은 무엇인가? (임시 DNS 서비스)

by 양눈 2025. 3. 20.
반응형

ngrok은 로컬에서 실행 중인 웹 애플리케이션, 서버, 또는 서비스를 외부에서 접근할 수 있도록 안전한 터널을 생성해주는 도구입니다. 쉽게 말해, 로컬 개발 환경에서 실행 중인 서비스를 인터넷에 노출시켜 외부에서 접근할 수 있게 합니다.

ngrok의 주요 기능

  1. 로컬 서버를 퍼블릭 URL로 노출
    • 로컬에서 실행 중인 웹 애플리케이션이나 API를 https://<임의의서브도메인>.ngrok.io 같은 퍼블릭 URL로 연결할 수 있습니다.
    • 방화벽이나 NAT에 상관없이 외부에서 접근 가능함.
  2. 안전한 HTTPS 터널 제공
    • 생성된 URL은 자동으로 HTTPS를 통해 보안이 설정됩니다.
  3. 리모트 디버깅 가능
    • ngrok은 요청과 응답을 기록하고 대시보드에서 이를 확인할 수 있습니다.
    • 외부에서 들어오는 요청을 분석하고 디버깅에 활용 가능.
  4. OAuth, API Key 등 보안 설정 가능
    • 보안 설정을 통해 접근 권한을 제어할 수 있습니다.
  5. 서버리스 환경 테스트
    • 서버리스 함수나 클라우드 기반 서비스와 통합 테스트에 유용합니다.

기본 사용 방법

  1. ngrok 설치
    👉 https://ngrok.com 에서 계정을 만들고 설치 파일을 다운로드 후 설치.
# Ubuntu/Debian 계열 설치 예시
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-stable-linux-amd64.zip
unzip ngrok-stable-linux-amd64.zip
sudo mv ngrok /usr/local/bin

2. ngrok 인증 설정

ngrok authtoken <YOUR_AUTH_TOKEN>

 

3. 로컬 서버를 ngrok으로 노출
예를 들어, 로컬에서 포트 3000에서 웹 서비스가 실행 중이라면 다음과 같이 실행. 

ngrok http 3000

4. 생성된 퍼블릭 URL 확인

Forwarding                    https://abcd1234.ngrok.io -> http://localhost:3000

 

5. 외부에서 URL로 접근 가능
https://abcd1234.ngrok.io로 외부에서 접근 가능! 


 

활용 예제

웹훅 테스트: GitHub, Stripe 같은 외부 서비스에서 웹훅 설정 시 로컬 환경에서 테스트 가능
API 개발 및 테스트: 클라이언트 앱에서 로컬 API에 접근 가능
리모트 디버깅: 외부 요청 데이터를 분석하고 디버깅 가능
모바일 앱 테스트: 로컬 API와 모바일 앱을 연결해 개발 및 테스트 가능

반응형

댓글