ngrok을 사용하여 로컬 서버 https 연동하기

괭이밥·2025년 4월 19일
0

slack bot 프로젝트

목록 보기
2/2

📌 개요

slack bot에 연동할 api 서버를 개발하고 테스트를 진행하려던 참이었다.
Rquest URL을 입력하기 위해선 https URL이 필요했는데, 개발하고 있는 나의 로컬 서버(윈도우)에 도메인 적용 + 인증서 등록을 하기엔 너무 많은 시간과 노력이 필요했다.

그렇게 간단하게 테스트하기 위한 용도로 알아보던 도중 ngrok을 알게되었고, 테스트 용도로 좋게 사용할 수 있었다.

이번 포스팅에서는 개발 로컬 서버를 ngrok을 사용하여 간단하게 https URL로 띄우는 방법에 대해 기입하였다.


📌 ngrok이란?

공식 홈페이지: https://ngrok.com/

ngrok은 유연한 API 게이트웨이로, 쉽고 빠르게 인프라 구축과 개발을 하기 위한 목적으로 나왔다.

ngrok의 여러 기능을 사용하기 위해서는 유료 결제가 필요하지만 테스트 용도로는 무료 버전으로 충분하다.

아래는 대략적으로 무료 버전에서 제공하는 내역이며, 자세한 내용은 공식 홈페이지 참고하면 된다.

  • 트래픽 정책 규칙 (정책별): 5개
  • ngrok 고정 도메인: 1개
  • 대역폭: 1GB (Outbound, 월별)
  • TCP 연결 속도: 120/분
  • 로그/이벤트: 월별 최대 10,000개
  • HTTP 요청: 월별 최대 20,000개
  • TCP 연결: 월별 최대 5,000개
  • TLS 연결: 월별 최대 5,000개
  • Webhook 인증: 월별 최대 500개

---

📌 ngrok 사용하여 서버 외부로 노출하기

먼저 ngrok을 다운로드 해준다.
다운로드는 공식 홈페이지에 OS별 상세하게 나와 있으며, 나는 window 환경이므로 zip 파일을 다운로드 해주었다.

zip 파일을 풀기 전에, ngrok 회원가입하여 토큰을 발급 받아야 한다.
ngrok 회원 가입 후 Getting Started > Your Authtoken에서 토큰을 복사한다.

그리고 사진에 나온대로 cmd창가서 복사한 token을 설정해주면 되는데, 이제 zip 파일을 풀고 cmd 창을 열어주면 된다.

다운로드한 zip 파일을 압축 해제하면 정직하게 ngrok.exe 파일만 있는 것을 볼 수 있다. 해당 exe 파일을 더블클릭해서 cmd 창을 오픈하자.

이제 복사한 token 값을 이용해 ngork 설정해주면 된다.

ngrok config add-authtoken $YOUR_AUTHTOKEN

ngrok 기본 셋팅은 모두 마쳤다. 이제 내 로컬에서 3000 포트로 돌아가고 있는 flask 서버를 외부로 노출시켜주면 된다.

방법은 간단하다. 아까 열었던 cmd창에 아래 명령어를 입력하면 된다.

ngrok http 3000

아래와 같이 localhost:3000 주소가 https://~~~.ngrok-free.app 주소로 포워딩된 것을 볼 수 있다.
이제 빨간 박스의 url로 api 요청을 하면 로컬의 서버가 작동할 것이다.

요청이 들어온 기록은 cmd창에 시간과 응답 status code와 함께 로깅되는 것을 볼 수 있다.


마무리

ngrok으로 간단하게 로컬 서버를 https 도메인과 매핑하여 외부로 노출시켜보았다.

서비스를 배포하기 전 개발 단계나 테스트 단계에서 편리하게 사용하기 좋다고 생각한다.

실제로 slack bot 개발하면서 https 도메인이 필요했는데 정말 요긴하게 잘 사용했다.

profile
개발도 하고 싶은 클라우드 엔지니어

0개의 댓글