반응형
개발을 하다보면 웹훅이나 다른 작업들을 할 때 로컬에 실행중인 서버를 외부에서 접근하여 테스트나 개발을 하고 싶을 때가 있습니다.
이런 경우 크게 두 가지 방법을 소개해 드리려고 합니다.
1. webhook.site를 이용하여 임시 url을 할당 받아 해당 사이트에서 작업 진행
- 이 경우 해당 사이트에 접속하여 임시로 url, email 등을 부여받아 작업할 수 있습니다.
2. ngrok을 사용하여 외부에서 로컬 서버 접속
ngrok은 로컬 서버를 외부 인터넷에 안전하게 노출시켜주는 터널링 도구로, 이를 통해 개발 중인 애플리케이션이나 테스트 서버를 공용 URL로 접근할 수 있게 해줍니다. 주요 내용은 다음과 같습니다 :)
- 기본 기능
- 로컬에서 실행 중인 웹 서버(예: Django, Flask, Node.js 등)를 외부에서 접근 가능한 URL로 매핑해줍니다.
- 터널링 방식으로 로컬 포트를 공용 URL에 연결하여, 외부 서비스(예: Zapier, Slack, 모바일 테스트 등)와 연동할 수 있습니다.
- 사용 예
- 로컬 개발 환경에서 작성 중인 API를 외부 클라이언트나 협력자에게 테스트용으로 제공할 때 사용
- 웹훅(Webhook) 테스트 시, 외부 서비스가 로컬 서버에 직접 요청을 보낼 수 있도록 해줌
- 모바일 기기에서 로컬 개발 서버에 접근하여 테스트할 때 유용
- 사용 방법
- ngrok 공식 웹사이트에서 다운로드 후, 설치
- 계정을 생성하고 인증 토큰을 설정
- 터미널에서 ngrok http [포트번호] 명령어를 실행하면, 공용 URL(예: https://abcd1234.ngrok.io)이 생성
- 생성된 URL을 통해 외부에서 로컬 서버에 접근
- 보안 및 관리
- ngrok은 HTTPS를 지원하여 안전한 연결을 제공합니다.
- 무료 플랜과 유료 플랜이 있으며, 유료 플랜에서는 커스텀 서브도메인, 지속적인 URL 유지, 더 많은 연결 옵션 등을 제공합니다.
- 웹 인터페이스(기본적으로 http://127.0.0.1:4040)를 통해 터널 상태와 요청 로그를 모니터링할 수 있습니다.
실제 저는 아래와 같이 작업했습니다.
# ngrok 설치
brew install ngrok
#ngrok 인증
ngrok config add-authtoken token
#ngrok 실행
ngrok http http://localhost:8000
ngrok 실행 명령어를 입력하면 아래와 같이 나오는데요, forwarding 쪽의 https://a04f-112-221-554-112.ngrok-free.app 주소를 사용하면 외부에서 로컬 서버로 접속할 수 있습니다
Session Status online
Account 계정정보
Version 3.19.1
Region Japan (jp)
Latency 39ms
Web Interface http://127.0.0.1:4040
Forwarding https://a04f-112-221-554-112.ngrok-free.app -> http://localhost:8000
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
요약!!
ngrok은 로컬 개발 환경을 외부와 쉽게 연동할 수 있도록 도와주는 유용한 도구로, 특히 웹훅 테스트나 외부 서비스 연동, 모바일 테스트 환경 구축에 매우 유용
'공부 > it 개발' 카테고리의 다른 글
PythonAnywhere로 로또 번호 추첨기 배포하기! (0) | 2025.03.20 |
---|---|
주피터 노트북(Jupyter Notebook)이란 무엇일까? (4) | 2025.02.28 |
zapier(자피어)로 웹훅 사용하기 (0) | 2025.02.18 |