ngrok은 내 로컬 PC에서 구동 중인 웹 서비스를 외부 인터넷 환경에서 접근이 가능하도록 만들어주는 툴이다
ngrok 공식 홈페이지 는 다음과 같이 설명되어있다
Ngrok exposes local servers behind NATs and firewalls to the public internet over secure tunnels.
Ngrok는 NAT 및 방화벽 뒤의 로컬 서버를 보안 터널을 통해 공용 인터넷에 노출합니다.
웹 애플리케이션을 개발하는 과정에서 localhost가 아닌 외부 환경에서 접속해봐야하는 상황이 종종 생긴다
이럴 때 포트를 열어 외부에서 접근하는 것은 보안상 위험하고, 그렇다고 코드를 수정 후 AWS등 외부 서버에 배포하여 테스트 하는 것 또한 비효율적이며 환경 설정에 많은 시간이 소비된다
개발자로 하여금 기존의 localhost 개발 환경을 유지하면서, 외부 인터넷 환경에서 개발 중인 앱에 접근하는 테스트 환경을 매우 간단하게 지원해줘 서비스 개발에만 집중할 수 있게 해주는 기특한 툴이 바로 ngrok이다
ngrok 다운로드 사이트 에서 받을 수 있으며 간단한 가이드를 제공한다
다운로드한 파일의 압축을 풀고 ngrok.exe 파일을 실행시킨다
ngrok의 기본 세션 유지시간은 8시간이며 세션이 만료될때마다 ngrok을 재실행 해야 하는데, 무료버전은 이 때 URL이 변경된다
만약 고정된 주소를 사용하고 싶다면 ngrok 계정을 생성 후 dashboard 에서 나의 Authtoken을 복사한 뒤 cmd에 다음 명령어를 입력한다
./ngrok authtoken "[복사한 Authtoken]"
ngrok을 적용하기 위해선 CMD에서 다음 명령어를 실행시킨다
./ngrok http 3000
이제 내 PC의 localhost 3000번 포트는 외부 인터넷에서 접속 가능한 상태가 되었다!
localhost:3000
으로 접속
bb7f4e4e954a.ngrok.io
으로 접속