[DJango, ngrok] ngrok로 1분만에 서버 배포하고 api 테스트하기
사실 엄밀히 말하면 서버 배포는 아니고,
(미안하다.. 이 글 보여주려고 어그로 끌었다..)
ngrok를 사용하면, 나의 로컬 서버에 다른 사람이 방화벽을 뚫고 접근할 수 있다.
서버 배포 전, postman 등을 통해 mock 기능으로 api 테스트를 클라이언트 개발자와 진행할 수 있지만,
아무래도 로컬에 (백엔드 개발자가 만진) DB와 직접 연결되어 테스트해보는 것이 더 나을 수 있다.
방법은 무척 간단하니 쉽게 따라해보자.
1. ngrok 다운로드
다운로드 주소 : https://ngrok.com/download
주소에 접근하면 brew, 직접 다운로드 두 가지 방법 중 선택하라고 한다.
회원가입을 통해 token을 발급받을 수 있다. (Google, Github 소셜 회원가입 지원)
실행할 환경의 'ngrok http <포트번호>' 실행하면 되는데,
아래에서 실행해보자
2. 장고 서버 실행 및 배포
개발 중인 환경으로 이동하여 장고 서버를 실행해준다.
이때 0.0.0.0:8000 주소로 실행한다. (현재 요청된 호스트의 IP나 이름에 관계없이 실행한다는 뜻)
% python manage.py runserver 0.0.0.0:8000
* 실행이 되지 않는다면 프로젝트 앱 디렉토리의 'settings.py'에서 아래와 같이 수정한다.
(모든 주소의 호스팅을 허용)
...
ALLOWED_HOSTS = ['*']
...
터미널에서 ngrok를 실행한다.
% ngrok http 8000 // 8000은 장고 포트 번호
위와 같이 뜨면 정상. (임시주소라 상관없지만 그냥 가려봄.)
빨간색 박스로 가둔 'https ..' 주소를 복사하여 사용하면 된다!
핸드폰으로 주소에 접속하여 확인해보자.
아래는 핸드폰으로 해당 주소에 접속한 화면이다.
url을 추가하면 원하는 api에 접근 가능하다.
헤더에 인증정보를 입력하지 않아 동작하지 않지만,
앱 개발자가 알아서 할 것이라 믿는다 ㅎㅎ