Ngrok

앱을 개발할 때, 로컬이 아닌, 공개된 서버로 열어야 할 때가 있다.
이럴때 이거 쓰면 좋다.

1. Ngrok 다운로드 및 설치

  1. Ngrok 다운로드:
    • 웹 브라우저를 열고 Ngrok 공식 사이트로 이동한다.
    • 페이지 상단의 “Download” 버튼을 클릭하여, 사용 중인 운영 체제에 맞는 Ngrok 버전을 다운로드 한다.
  2. Ngrok 설치:
    • 다운로드한 압축 파일을 적절한 위치(예: C:\ngrok 폴더)에 압축 해제한다.
    • ngrok.exe 파일이 C:\ngrok 폴더에 있어야 한다.
  3. Ngrok 실행:
    • ngrok.exe가 있는 폴더로 이동한다.
    • ngrok 명령을 터미널에서 사용하려면, ngrok.exe의 경로를 PATH 환경 변수에 추가하거나, 명령을 실행할 때마다 폴더로 이동해서 실행할 수 있다.

2. Ngrok 사용 방법

  1. Ngrok 실행:
    • 터미널(cmd) 또는 PowerShell을 연다.
    • Ngrok을 설치한 폴더(C:\ngrok)로 이동 한다.
      cd C:\ngrok
      
    • Ngrok을 실행하려면 다음 명령을 입력 한다:
      ngrok http 5000
      
    • 여기서 5000은 로컬에서 Flask 서버를 실행 중인 포트 번호 이다. Flask 서버를 다른 포트(예: 3000)에서 실행 중이라면, 포트 번호를 3000으로 변경할 수 있다:
      ngrok http 3000
      
  2. Ngrok 출력 이해:
    • Ngrok을 실행하면 터미널에 새로운 정보가 표시됩니다. 여기서 중요한 부분은 다음과 같다:
      • Forwarding: http://<ngrok-subdomain>.ngrok.io -> http://localhost:5000
      • 이 URL (http://<ngrok-subdomain>.ngrok.io)이 외부에서 접근할 수 있는 주소 이다. 모바일 앱에서 이 URL을 사용하여 로컬에서 실행 중인 서버에 접근할 수 있다.
  3. Ngrok을 통한 서버 접근:
    • 이제 Ngrok이 제공한 URL을 복사하여, 모바일 앱의 서버 주소로 설정 한다. 예를 들어, Flask 서버가 로컬에서 5000 포트에서 실행 중이라면, Ngrok이 제공한 URL을 통해 외부에서 Flask 서버에 접근할 수 있다.

3. 추가 팁

  • Ngrok 로그인: Ngrok의 공식 사이트에서 계정을 생성하고 로그인하면, 개인 토큰을 받아 Ngrok의 기능을 더 잘 활용할 수 있다. 예를 들어, 더 긴 시간 동안 URL이 유지되도록 설정할 수 있다.
  • 서버 포트 변경: 서버를 3000 포트에서 실행 중이라면, Ngrok 명령에서 5000 대신 3000을 사용합 한다:
    ngrok http 3000
    

이 과정을 통해 Ngrok을 설치하고, 로컬 서버를 외부에서 접근 가능하게 만들 수 있다. Ngrok의 URL을 앱의 서버 주소로 설정하면, 외부에서 모바일 앱이 로컬 서버와 통신할 수 있다.

2.2. Ngrok 사용 시 주의사항

  • Ngrok을 종료하면 해당 URL도 사라지며, 새로 실행할 때마다 새로운 URL이 생성된다. 따라서 개발 및 테스트 용도로 사용하기에 적합하다.
  • 클라우드 서버나 VPS에 서버를 배포하는 것은 보다 영구적이고 신뢰할 수 있는 솔루션 이다.

이제 Ngrok을 사용하여 로컬 서버를 외부에서 접근할 수 있게 설정할 수 있다. 필요에 따라 포트 번호를 변경하고, 모바일 앱과 서버 간의 통신을 테스트할 수 있다.