파이썬 프로그래밍

파이썬 Django 로컬 서버 외부 접속 및 배포하기 (ngrok)

코니코니 2022. 10. 2. 03:00
반응형

파이썬 Django 로컬 서버 외부 접속 및 배포하기 (ngrok)


파이썬 Django로 로컬 서버를 생성하고 난 후 외부에서 접속을 하기 위해서는 여러 방법들이 있겠지만 그중에서도 가장 간편하게 외부 접속을 가능하게 하는 것은 ngrok 프로그램을 사용하는 것입니다. Ngrok은 NAT 및 방화벽 뒤에 있는 로컬 서버를 보안 터널을 통해 공용 인터넷에 노출시키는 서비스입니다.

먼저 Ngrok 프로그램을 다운로드 해야겠죠.
https://ngrok.com/download
위 링크에서 프로그램을 다운로드 해줍니다.

진행에 앞서서 해당 프로그램은 무료버전과 유료버전이 있는데요 간단한 배포 테스트는 무료버전으로도 문제가 없기 때문에 무료버전으로 테스트를 해보겠습니다. 무료버전은 분당 40번의 접속이 가능하지만 테스트를 하기에 충분합니다.

프로그램을 다운로드 했으면 dashboard.ngrok.com 에서 회원가입을 진행한 후 토큰을 받아서 프로그램 실행 시 적용을 해줘야 합니다. 가입을 하고 좌측 메뉴 리스트에 있는 Your Authtoken 메뉴에서 토큰을 클립보드에 저장을 해줍니다.

Ngrok 프로그램 바로가기를 생성 후 바로가기 대상 뒤에 authtoken "토큰" 문구를 추가로 넣어줍니다. 위 이미지 참고하세요. 본인의 고유 토큰을 넣어주고 바로가기로 실행을 하면 됩니다. 중요한 것은 Ngrok 프로그램을 실행하기 이전에 먼저 로컬 서버를 열어둬야 합니다.

이전 디장고 포스팅에서 서버 구축 방법이 나와있습니다. 로컬 서버를 열 때는 python manage.py runserver 0.0.0.0:8000 명령어로 외부 접속을 허용하는 것으로 로컬 서버를 열어줍니다. 또한 디장고 뿐만 아니라 플라스크 서버 또한 같은 방식으로 활용을 할 수 있습니다.

위에는 두개의 콘솔이 열려있는데요 첫번째는 명령 프롬프트에서 Django 로컬 서버를 열어둔 것이고 두번째가 Ngrok 프로그램을 열어둔 화면입니다. 만약 정상적으로 서버가 열린 상태에서 Ngrok 프로그램에 ngrok http 8000(또는 지정된 포트 입력) 명령어를 입력하면 위와 같은 화면을 볼 수 있습니다. 보여지는 포워딩 링크가 ngrok.io로 끝나는 것을 볼 수 있습니다. 이 포워딩 링크는 Ngrok 프로그램 실행 시 매번 주소가 바뀌는데 유료버전을 사용하면 고정된 주소를 할당받을 수 있습니다.

 

지난 포스팅 때 테스트로 만들었던 로컬 서버가 열리는 것을 확인할 수 있습니다. 외부에서도 접속이 가능한 상태라 테스트 배포로도 문제가 없겠죠. Ngrok 포워딩 서비스를 종료할 때는 로컬 서버를 종료할 때와 마찬가지로 Ctrl + c 입력으로 배포를 중지할 수 있습니다.

반응형