계발하는 개발자

[Ngrok] localhost를 외부에서 접속하는 방법 본문

🖥 Computer Science/Programming

[Ngrok] localhost를 외부에서 접속하는 방법

dev_genie 2023. 9. 21. 15:00

오늘은 로컬 서버를 외부에서 접속해야 할 때 좋은 서비스를 하나 소개하려고 한다.

원래 로컬의 서버를 외부에서 접속하려면, 내 public ip를 직접 알려야 하므로 보안적으로 좋은 선택이 아니다. 또한 공유기에서 포트포워딩 설정을 하는 것 또한 번거롭다.

Ngrok은 이런 번거로움 없이 로컬 서버를 안전하게 인터넷에 띄울 수 있게 도와주는 서비스이다.

 

Ngrok 설치

https://ngrok.com/

본격적인 사용에 앞서, 자신의 운영체제 환경에 맞춰 ngrok을 다운로드해준다.

내 경우 window 개발환경이므로 Windows를 선택했다.

이어 운영체제 버전 선택 후 Download 클릭

받은 파일을 압축 풀고 실행하면 위 같은 cmd창이 열린다.

 

auth token 등록

기본적으로 ngrok 은 기본 세션 유효기간이 존재해서 세션이 만료되면 다시 ngrok을 실행해줘야하고,

재실행 시 접속 URL이 바뀌게 되어 매우 불편하다.

따라서 세션 제한없이 사용하기 위해서 Authtoken을 등록해야한다. 아래 명령어 형식으로 등록할 수 있다.

ngrok authtoken <token>

ngrok 회원가입후 보이는 대시보드 화면에서 좌측 [Your Authtoken] 메뉴 클릭

그러면 본인의 Authtoken token 암호가 보일 것인데

token 복사후 명령어를 터미널에 입력하여 ngrok 계정을 연결한다.

정상적으로 명령이 수행될 경우, 'Authtoken saved to configuration file: <ngrok.yml이 저장된 path>' 이란 메시지가 출력된다.

 

Ngrok 사용

ngrok은 아래 명령어로 간단하게 사용할 수 있다.

ngrok http <외부로 호스팅하고 싶은 port 번호>

가령, 로컬 환경에서 애플리케이션이 포트 번호 8080에서 구동되고 있다면, 터미널에 아래의 명령어를 입력해주면 된다.

ngrok http 8080

ngrok이 정상적으로 시작되면 위 같은 정보들이 출력된다.

(참고로 Region이 jp로 설정된 것은 무료 요금제 사용하면 ngrok 본사 위치 기준으로 설정되어 그렇다는데, 영향을 미치는 정보는 아니니 pass)

ngrok으로 변환된 주소를 통해 들어가면
내가 호스팅하려는 Jenkins 서버가 접속되어 나타나는 걸 볼 수 있다.

LIST
profile

dev_genie

@dev_genie

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!