無効なhttp_hostヘッダー


109

私はDjangoフレームワークを使用してWebサイトを開発し、DigitalOcean.comを使用して起動し、必要なファイルをdjango-projectにデプロイしようとしています。

静的ファイルをDjango-projectに含める必要があり、静的ファイルを収集した後、IPを更新しようとしました

ウェブサイトの作成に使用したチュートリアルを含めています。 https://www.pythonprogramming.net/django-web-server-publish-tutorial/

次のエラーが発生します。

DisallowedHost at / Invalid HTTP_HOST header: '198.211.99.20'。ALLOWED_HOSTSにu'198.211.99.20 'を追加する必要がある場合があります。

誰かがこれを修正するのを手伝ってくれる?これはDjangoフレームワークを使用した私の最初のウェブサイトです。


これは、DigitalOceanのフローティングIPアドレスでもある可能性があります。
Poopy McFartnoise 2018年

回答:


183

エラーログは簡単です。それが示唆したように、設定に198.211.99.20 を追加する必要がありますALLOWED_HOSTS

プロジェクトのsettings.pyファイルで、次のALLOWED_HOSTSように設定します:

ALLOWED_HOSTS = ['198.211.99.20', 'localhost', '127.0.0.1']

詳細については、こちらからお読み ください。


次のエラーリクエストURLを取得しています:198.211.99.20 Exception Type:TemplateDoesNotExist Exception Value:personal / home.html Exception Location:/usr/local/lib/python2.7/dist-packages/django/temp‌ late / loader.py get_templateの25行目以下のフォルダー/ home / django / django_project / personal / templates / personalにテンプレートがあります
Kathiravan Natarajan

@Kathirそのエラーには多くの例があります。ググってみて、問題が解決しない場合は、別の質問として質問してください。コメントはあまり説明的ではありません。
Prakhar Trivedi 2016

これは確実に機能しますが、常に.envファイルを使用する必要があるため、悪い習慣です
Abhishek Jebaraj

@AbhishekJebarajもう少し説明してもらえますか、またはリンクをもっと説明して共有してください。
イエスアルマラル-Hackaprende 2017年

1
@JesusAlmaral .envファイルは、パスワードやその他の機密情報を含むローカルファイルです。この機密情報をすべてコード自体の中に入れると、侵害される可能性があります。したがって、このローカルファイル.envを使用し、すべてのユーザーが独自のパスワードなどをローカルに保存します
Abhishek Jebaraj

0

settings.py

ALLOWED_HOSTS = ['*']

2
pydannyが言ったように、「これを理解したら、そのままにしないでください。理由は、DjangoがHTTP_HOSTヘッダー攻撃に対して潜在的に脆弱になるためです。自動化されたスクリプトは、インターネットに精査して、サイトにこの脆弱性があるかどうかを確認します。」github.com/pydanny/cookiecutter-django/issues/...
javidazac

6
笑、それは開発環境用です。本番環境では、DEBUG = Falseのみを設定する必要があります。
ジョージポリオベイ2018年

4
プロダクションに「*」を使用したくない。これにより、許可されたホストの理由とセキュリティが完全に回避されます。
アンディポケット

@radtek-1つ深いディレクトリに移動すると、間違ったsettings.pyを編集しています
birdmw
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.