반응형

ngrok 이란

ngrok 사이트에는 Secure tunnels to localhost이라고 설명되어 있습니다. 간단히 방화벽 넘어서 외부에서 로컬에 접속 가능하게 하는 터널 프로그램입니다. 만약 통신을 할 수 있는 프로그램을 개발했다면 서버의 역할이 필요한데 개발한 PC의 경우는 외부에서 접속가능한 상용 서버가 아니기때문에 도메인을 구입하고 서버를 호스팅 받아 연결해야 합니다. 말그대로 로컬서버죠.

ngrok은 이러한 로컬서버를 간단히 외부에서 접속가능한 환경으로 만들 수 있게 도와줍니다. 물론 이런 프로그램이 ngrok뿐인 것은 아니지만, 위에서 설명한 상황에서 유용하게 쓸 수 있게 최적화되어 있어서 아주 쉽게 사용할 수 있다.

출처:   https://ngrok.com/

ngrok은 무료 플랜과 유료 플랜이 있습니다. 무료 플랜인 경우 기본적으로 8시간 동안 세션을 유지 할 수 있고 이후에는 도메인이 변경됩니다. 하지만 가입 후 토큰을 등록하면 세션을 시간 제한 없이 사용 할 수 있습니다. 

ngrok은 무료 플랜은 몇 가지 제약 사항이 있지만 개인적으로 사용하는 목적으로는 충분한 것 같습니다.

더보기
  1. HTTP/TCP 접속을 위한 랜덤 URL, 포트를 생성
  2. 최대 1개의 ngrok 프로세스
  3. ngrok 프로세스 당 최대 4개의 터널
  4. 분당 최대 40개의 커넥션

ngrok 설치

먼저 ngrok 사이트로 이동해서 [Get started for free]를 눌러 가입을 합니다. 이미 가입이 된 상태라면 Login을 하시면 됩니다.

Download를 눌러 파일을 다운로드 합니다. 이후 압축을 해제하면 1개의 실행파일을 있습니다.

ngrok 명령어를 실행하여 정상적으로 작동하는지 확인합니다.

더보기

mac 이라면 homebrew를 이용하여 설치 할 수 있습니다.

brew install ngrok

기본적으로 ngrok 은 기본 세션 유효기간이 존재합니다. 이 세션은 만료되어 다시 ngrok을 실행해 줘야하며 재실행 시 접속 URL이 바뀌게 되어 매우 불편합니다. 세션 제한없이 사용하기 위해서 authtoken 을 등록합니다. ngrok 페이지에서 제공하는 authtoken을 복사하여 붙여넣고 실행합니다.

ngrok authtoken << Your token >>

토큰이 저장되었습니다. 이제 원하는 포트로 ngrok을 실행할 수 있습니다.

ngrok 이 설치가 완료 되었다면, 테스트를 위한 로컬 서버를 실행하고 아래 명령으로 외부에서 접속 가능한 URL을 생성하도록 하겠습니다. 이 때, 로컬 포트는 8000 이라 가정하겠습니다.

ngrok http 8000

반응형