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) からのリクエストを受け入れることができます。 URL のランダムな文字列部分を予測できない場合でも、Django はエラーを生成しません。
プロジェクトのルート ディレクトリ内:
python manage.py runserver
注: Windows ユーザーは py manage.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 の問題を解決するためだけのものではありません。これは次の場合に価値があります:
Web 開発についてもっと知りたいですか?私の他の記事もチェックしてください:
お時間を割いてコーディングしていただきありがとうございました!コメントセクションでプロジェクトを共有してください。
以上がNgrok を使用して Django プロジェクトをインターネットに公開するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。