☁ ngrok

ozzing·2022년 4월 1일
0
post-thumbnail

ngrok

https://velog.io/@kya754/ngrok-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0
아래 사진은 요기서 가져왔다!

ngrok은 로컬 서버를 외부로 공유해주는 터널링 프로그램이다.
이것보다 더 좋은 성능의 터널링 프로그램이 많다지만, 그냥 프로젝트 QA용으로 가볍게 돌리기에 적절한 것 같다!

세션은 최대 8시간 뒤 만료하게 할 수 있다는 것 같은데, 무료로 다운받고 이 글에서 소개하는 바와 같이 그냥 실시하면 1시간 뒤 만료된다.

같은 프젝을 하는 친구 중 하나가 여럿이 접속하니 터졌다고 얘기했었는데, 인공지능 프로젝트였다고 해서 걱정 없이 진행할 수 있을 것 같다!

계기

ngrok을 사용하게 된 계기는 다음과 같다.

  1. 첫번째 배포전까지는 QA를 기존 서버에서 진행하여도 문제가 없었으나, 지금은 사용자가 계속 있는 상태라 QA가 되지 않은 내용을 마음대로 배포할 수 없었다.
  2. 처음엔 클라 쪽에서 직접 서버 레포를 클론받아서 로컬에서 돌려보고자 했으나, 이렇게 해도 자잘하게 싱크가 안맞았다고 한다.
  3. 앱서비스가 아니기 때문에 버전관리를 할 수 없었고, QA할 서버가 따로 필요하다고 판단했다.
  4. EC2라면 하나의 인스턴스에서 어플 두개를 돌릴 수 있지만, 파베는 프로젝트 당 하나의 서버밖에 돌릴 수 없다. 따라서 프로젝트를 두개 파고, 일일이 손으로 옮겨줘야 했다.

이 모든 문제를 해결하기 위해 ngrok을 사용하기로 했다!
사용하기 전 고민했던 이유는 위에 말했듯 여럿이 접속할 수 없다는 점,
누군가의 노트북에서 이걸 하루종일 켜놓을 수 없다는 점이 문제였다.

첫번째 문제는 그냥 그 프로젝트가 무거워서 그랬던 것 같아서 해결되었고, 두번째 문제에 대한 해결책으로 그냥 시간을 정해서 ngrok을 실행시켜 놓고, 모든 인원이 해당 시간에 QA를 진행하기로 했다.

설치

https://ngrok.com/download
이곳에서 다운 받을 수 있다!

실행

사실 처음에 어려울거라고 생각했는데 실행은 굉장히 쉽다!
다운로드 받고 나면 ngrok.exe라는 파일이 보인다.
해당 파일을 누르고 다음과 같이 작성하면 된다.

ngrok.exe http 포트번호
여기서 포트번호는 현재 내 로컬에서 돌아가고 있는 서버의 포트번호!

실행하면 다음과 같이 Forwarding에 외부로 공유되는 서버 주소가 나온다! 이 부분으로 localhost:5000을 대체하고 request를 날려보면 아래 로그도 뜬다!

Postman을 사용해서 request를 날려보았다!
아주 정상적으로 잘 작동하는 것을 확인할 수 있었다.

기타

https://dashboard.ngrok.com/get-started/your-authtoken
여기서 authtoken을 발급 받아 사용해야 한다.

비밀번호 설정
ngrok http -auth "user:password" 5000

커스텀
ngrok http -subdomain=mysubdomain 5000

0개의 댓글