ngrok와 포트 포워딩

JJeong·2021년 3월 18일
0

요약

  • ngrok : 터널을 만들어 로컬 컴퓨터를 웹 서버로 작동하게 해준다. 즉 외부에서 파일을 요청할 수 있게 된다.
  • 포트 포워딩 : 구체적으로 어떤 기기로 신호를 보내야 할지 공유기가 알 수 있도록 경로를 지정해주는 일.

ngrok 이란?

웹사이트나 API 서버 등을 개발할 때 보통은 로컬에 개발환경이 구축되어 있으므로 외부에서 접근하려면 외부에서 접속할 수 있는 서버에 올리거나 해야 한다. 이는 일반적인 개발 단계이기는 하지만 배포단계가 아닌 개발단계에서 외부에 열어주어야 하는 경우에는 상당히 귀찮은 일이다.

예를 들어 만들고 있는 웹사이트를 기획자나 디자이너한테 공유해서 보여주고 의견을 들어야 한다거나 폰이나 태블릿에서 접속해서 테스트를 해보아야 하는데 같은 네트워크에 접속되어 있지 않다면 수정하고 배포하는 단계가 아주 귀찮아지기 마련이다.

(ngrok은) 방화벽 넘어서 외부에서 로컬에 접속 가능하게 하는 터널 프로그램이라고 할 수 있다.

포트 포워딩이 없어도 터널링을 통해서 외부에서 공유기에 연결된 컴퓨터의 포트로 직접 접속할 수 있게 하는 방법이 있습니다. 개중에 가장 많이 사용되는 툴이 바로 ngrok 입니다.

원리는 알 필요가 없습니다. 그냥 사용하시면 됩니다.

사용법

  1. ngrok 공식 홈페이지에 가서 프로그램을 설치한다.
  2. 더블클릭으로 실행하고 ngrok http 포트번호를 입력한다.
    2-1. (개발자답게) 시스템 변수에 Path를 저장하고 cmd에 ngrok을 입력해서 실행하는 방법도 있다.
  3. 다소 난잡한 url 주소가 2개 뜬다. 둘 중 아무거나 주소창에 입력하면 로컬 컴퓨터만 요청이 가능하던 서버를 외부에서도 접속할 수 있게 된다.

포트포워딩이란?

공유기는 사설 네트워크를 만들면서 동시에 공인 아이피를 하나 할당 받습니다. 그래서 공유기에 연결된 모든 장비는 인터넷에 접근하기 위해서 반드시 공유기를 거쳐야만 합니다.

사설 아이피 대역은 여기 저기서 사용하기 때문에 공인 아이피처럼 특정한 기기를 가리키지 않습니다. 그래서 공유기가 보유한 공인 아이피를 알려줘야 합니다. 그러면 다른 사람들이 http://12.34.56.78:80 주소를 인터넷 브라우저에 입력하면 웹 서버에 연결이 될까요?

이렇게, 공인 아이피의 80번 포트로 들어오는 연결은 공유기에 도달하면 끝나버립니다. 왜냐하면 공인 아이피로 들어온 80번 포트의 연결을 공유기에서 컴퓨터 1, 2, 3 중에 어떤 곳으로 보내줘야 할 것인지를 판단하지 못하기 때문입니다.

포트 포워딩은 기본적으로 대부분의 공유기 설정에서 찾아볼 수 있습니다.

0개의 댓글