The fastest way to host and secure your applications and services on the internet.

포트포워딩 포스팅 참고


ngrok이란


ngrok은 공식 홈페이지 문서에서 다음과 같이 설명하고 있는 서비스입니다.
직접 개발한 서비스나 애플리케이션을 인터넷을 통해 호스팅할 수 있는 서비스라고 설명하고 있습니다.

클라이언트 배포를 위해 netlify가 있다면,
서버 배포를 위해서는 ngrok이 있다!

더군다나 포트포워딩에 대한 수고를 덜어주고 더욱 쉽게 서버를 배포할 수 있기 때문에 로컬 환경에서 개발 후 원격의 클라이언트와 잠시 HTTP 통신이나 테스팅을 해야한다면 ngrok을 이용해볼 수도 있을 것 같습니다.

터널링 vs. 포트포워딩

터널링:: 로컬 개발 환경의 포트를 인터넷으로 연결하여 외부에서 접근 가능
포트포워딩:: 로컬 서버의 특정 포트를 외부로 열어주어 외부에서 포트를 통해 접속 가능

터널링은 로컬 개발 환경의 포트를 인터넷으로 연결하여 외부에서 로컬 서버에 접근할 수 있도록 해줍니다. 터널링은 보안적인 측면에서 중요한 역할을 하는데요. 외부에서 로컬 개발 환경의 포트로 직접 접속할 수 없는 경우에도 터널링을 통해 ngrok 서버를 통해 로컬 서버로 안전하게 접근할 수 있습니다. 터널링을 사용하면 외부에서 ngrok을 통해 생성된 URL을 통해 로컬 개발 환경, 즉 로컬 환경에서 개발 중인 서버에 접근할 수 있습니다.

포트포워딩은 로컬 네트워크 내에서 외부에서 접속할 수 없는 로컬 서버의 특정 포트를 외부에 개방하는 것을 가리킵니다. 포트포워딩을 사용하면 인터넷을 통해 로컬 서버에 직접 접근할 수 있게 됩니다. 이를 통해 외부에서 로컬 서버의 특정 포트로 접속하여 로컬 서버의 서비스를 이용할 수 있습니다.


ngrok 설치


ngrok은 정말 간편하게 설치할 수 있습니다.
공식홈페이지로 이동하여 운영체제 환경에 맞는 다운로드 방식을 골라 설치하면 됩니다.

macOS

  • Homebrew 설치
$ brew install --cask ngrok

Windows (Powershell)

  • Chocolatey 설치
$  choco install ngrok

Ubuntu (Linux)

  • 압축 파일 설치
$ curl -o ngrok.zip https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
  • 압축파일 해제
unzip ngrok.zip
  • 권한 수정
$ chmod +x ngrok

ngrok 호스팅


ngrok은 인터넷으로 터널을 만들어 로컬 개발 환경의 포트를 개방하고 애플리케이션의 외부 접근을 도와준다!

  • 우선, 로컬 개발 환경에서 개방할 포트를 기준으로 서버를 실행해주세요!
    Node.js 기준으로 작성해보겠습니다.
$ npm start
// scripts to run server
  • ngrok을 정상적으로 설치 후 포트를 외부 접근을 허용하도록 아래 명령어를 입력해주세요.
$ ngrok http "port number"
  • 성공!
    아래 화면에서 보이는 Forwarding url을 통해 애플리케이션에 접근할 수 있습니다.


ngrok Token


ngrok 터널링 세션 시간을 늘려보자. 그것도 무료로!

위에서 보여드린 사진은 처음 시작하는 분들과의 화면과 다소 상이할 것입니다.
같은 무료 플랜이지만 세션 이용시간에 제한이 없습니다.

만약 세션을 무제한으로 이용하고 싶다면 ngrok 홈페이지에 로그인을 한 이후 토큰만 config에 추가해주면 됩니다.

  • 토큰 확인

  • 토큰 추가

$ ngrok config add-authtoken "token"
  • 다시 실행
$ ngrok http "port number"
profile
누구나 이해할 수 있도록

0개의 댓글