반응형
ngrok은 로컬에서 실행 중인 웹 애플리케이션, 서버, 또는 서비스를 외부에서 접근할 수 있도록 안전한 터널을 생성해주는 도구입니다. 쉽게 말해, 로컬 개발 환경에서 실행 중인 서비스를 인터넷에 노출시켜 외부에서 접근할 수 있게 합니다.
ngrok의 주요 기능
- 로컬 서버를 퍼블릭 URL로 노출
- 로컬에서 실행 중인 웹 애플리케이션이나 API를 https://<임의의서브도메인>.ngrok.io 같은 퍼블릭 URL로 연결할 수 있습니다.
- 방화벽이나 NAT에 상관없이 외부에서 접근 가능함.
- 안전한 HTTPS 터널 제공
- 생성된 URL은 자동으로 HTTPS를 통해 보안이 설정됩니다.
- 리모트 디버깅 가능
- ngrok은 요청과 응답을 기록하고 대시보드에서 이를 확인할 수 있습니다.
- 외부에서 들어오는 요청을 분석하고 디버깅에 활용 가능.
- OAuth, API Key 등 보안 설정 가능
- 보안 설정을 통해 접근 권한을 제어할 수 있습니다.
- 서버리스 환경 테스트
- 서버리스 함수나 클라우드 기반 서비스와 통합 테스트에 유용합니다.
기본 사용 방법
- 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와 모바일 앱을 연결해 개발 및 테스트 가능
반응형
댓글