Miscellaneous

[Miscellaneous] ngrok 이용한 Localj 개발 환경 접근

lakelight 2022. 12. 7. 08:55
728x90
반응형

카페 또는 집에서 업무 중 개발 중인 Spring 서버에 접근하도록 해줘야 할 때,
로컬에서 개발중인 웹서버, WAS서버를 외부에 있는 사람에게 접근하게 해줘야 할 때,

Ngrok를 이용해 외부에서 로컬 개발 환경 localhost로 접근할 수 있도록 할 수 있습니다.

 

Download ngrok

 

ngrok - download

Install ngrok via Homebrew $ brew install ngrok/ngrok/ngrok Download ZIP file Intel (AMD64) Apple Silicon (ARM64) Then unzip ngrok from the terminal $ Install ngrok via Chocolatey $ choco install ngrok Download ZIP file Windows (64-bit) Windows (32-bit) Do

ngrok.com

 

ngrok

ngrok는 NAT 및 방화벽 뒤에 있는 로컬 서버를 보안 터널을 통해 공용 인터넷에 접속하는 방법을 제공합니다. ngrok 사이트에는 Secure tunnels to localhost라고 명시되어 있고 간단하게 방화벽을 넘어, 외부에서 로컬에 접근할 수 있도록 하는 터널을 구성해주는 프로그램입니다.

만약 통신을 할 수 있는 API를 개발했을 때 API에 접근할 수 있는 서버가 필요합니다. 개발에 사용하는 PC는 외부에서 접속 가능한 상용 서버가 아니기 때문에 도메인을 구매하거나, AWS를 이용한 서버 호스팅을 이용해야 합니다.

하지만 ngrok를 이용하면 외부에서 로컬 PC로 접근을 가능하도록 하여, 외부에서 PC에 접근을 할 수 있도록 합니다.

 

ngrok 실행

다운로드 한 zip 압축해제 후 ngrok.exe 실행한 화면

ngrok http 8080 #nginx 실행

ngrok 실행된 화면

https://0da2-14-47-96-237.jp.ngrok.io를 통해 외부에서 로컬 환경으로 접근할 수 있습니다. 만약 집에서 개발을 하고 있는데, 서버를 열어야 할 때 이 방법을 사용하면 편리할 것 같습니다. 포트 포워딩은 카페 같은 곳에서는 할 수 없기 때문에 이 방법을 사용하면 어디서든 서버를 배포하는 효과를 볼 수 있을 것입니다.

 

Session Expires

ngrok는 무료 사용자에게 2시간의 세션 시간을 제공합니다. 2시간 후에는 Forwarding URL이 변경되기 때문에 불편한 점이 있을 수 있습니다. 이는 간단한 방법으로 해제할 수 있습니다.

 

ngrok - Online in One Line

Zero Trust Add SSO, Mutual TLS, IP Policy, and webhook signature verification.

ngrok.com

해당 ngrok 메인 홈페이지에 들어가서 로그인을 합니다.

 

왼쪽 메뉴에 Your Authtoken을 클릭하여 다음과 같은 화면이 나오도록 합니다. 그리고 Command Line에 있는 명령어를 ngrok.exe를 실행한 후 입력하면 설정파일에 authtoken이 등록되어 무제한으로 이용할 수 있습니다.

 

Authtoken이 저장된 위치가 나오며 등록이 된 것을 알 수 있습니다.

 

다시 ngrok http 8080을 입력하면 Session Expires가 사라진 것을 확인할 수 있습니다.

 

마무리

ngrok는 방화벽을 우회하여 로컬 PC로 접근을 해주는 만큼 보안에 취약할 것입니다.
때문에 기업에서 사용하기에는 무리가 있어 보이고, 개인적으로 테스트할 때 사용하면,
포트포워딩을 하는 방법 보다 더 편리하고 유연하게 사용할 수 있을 것입니다.

 

728x90
반응형