Django에서 개발을 하다가 이런 오류를 겪은 적이 있나요?
You're accessing the development server over HTTPS, but it only supports HTTP.
http://localhost:8000을 통해 개발 서버에 액세스하는 데 익숙하다면 이 오류가 당황스러울 수 있습니다. 특히 HTTPS 연결을 적용하는 방화벽 규칙을 업데이트한 후에는 더욱 그렇습니다. 보안 설정을 되돌리는 대신 더 나은 솔루션이 있습니다: Ngrok.
Ngrok은 포트 전달이나 DNS 설정과 같은 복잡한 네트워크 구성 없이 로컬 애플리케이션을 인터넷에 노출하는 강력한 도구입니다. 공식 문서에서 ngrok에 대해 자세히 알아보세요.
시작하기 전에 다음 사항을 확인하세요.
무언가를 설치하기 전에 가상 환경을 활성화한 다음 ngrok용 Python 래퍼를 설치하세요.
pip install pyngrok pip freeze > requirements.txt
프로젝트 settings.py의 허용된 호스트 목록에 ngrok의 도메인을 추가하세요.
# settings.py ALLOWED_HOSTS = ['localhost', '127.0.0.1', '.ngrok-free.app']
이를 통해 Django는 ngrok의 동적 URL(*.ngrok-free.app)의 요청을 수락할 수 있습니다. Django는 URL의 임의 문자열 부분을 예측할 수 없더라도 오류를 생성하지 않습니다.
프로젝트 루트 디렉터리:
python manage.py runserver
참고: Windows 사용자는 pymanage.py runserver를 사용할 수 있습니다
ngrok config add-authtoken YOUR_TOKEN_HERE
터널 시작:
ngrok http 8000
ngrok 및 Django 서버 포트가 동일한지 확인하세요. 기본 포트는 일반적으로 8000입니다.
다음과 유사한 출력이 표시됩니다.
Account Your Name (Plan: Free) Version 3.19.0 Region United States (us) Latency Your Latency Web Interface An Unsecure HTTP address Forwarding https://[random-id].ngrok-free.app -> http://localhost:8000
콘솔 창에서 ngrok가 제공한 HTTPS URL만 사용하여 Django 애플리케이션에 액세스하세요. 다음과 유사하게 보입니다.
https://[random-id].ngrok-free.app
Ngrok은 단순히 HTTPS 문제만 해결하는 것이 아닙니다. 다음과 같은 경우에 유용합니다.
웹 개발에 대해 더 자세히 알고 싶으십니까? 내 다른 기사를 확인하세요:
시간을 내주셔서 감사합니다. 즐거운 코딩 되세요! 댓글 섹션에서 프로젝트를 공유하세요.
위 내용은 Ngrok을 사용하여 Django 프로젝트를 인터넷에 노출하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!