【问题标题】:Invalid http_host header无效的 http_host 标头
【发布时间】:2017-03-27 17:12:45
【问题描述】:

我正在尝试使用 Django 框架开发一个网站并使用 DigitalOcean.com 启动并将必要的文件部署到 django-project 中。

我必须在 Django-project 中包含静态文件,收集静态文件后,我尝试刷新我的 ip

我包括了我用来创建网站的教程。 https://www.pythonprogramming.net/django-web-server-publish-tutorial/

我收到以下错误:

DisallowedHost at / 无效的 HTTP_HOST 标头:“198.211.99.20”。你可以 需要将 u'198.211.99.20' 添加到 ALLOWED_HOSTS。

有人可以帮我解决这个问题吗?这是我第一个使用 Django 框架的网站。

【问题讨论】:

  • 这也可能是您在 DigitalOcean 上的浮动 IP 地址。
  • 我可以使用我的外部 IP 来启动服务器吗?

标签: python django python-2.7 http-host


【解决方案1】:

错误日志很简单。正如它所建议的,您需要将 198.211.99.20 添加到您的 ALLOWED_HOSTS 设置中。

在你的项目 settings.py 文件中,像这样设置ALLOWED_HOSTS

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

供进一步阅读 read from here.

【讨论】:

  • 现在收到以下错误请求 URL:198.211.99.20 异常类型:TemplateDoesNotExist 异常值:personal/home.html 异常位置:/usr/local/lib/python2.7/dist-packages/django /temp‌​late/loader.py in get_template, line 25 我的模板在以下文件夹 /home/django/django_project/personal/templates/personal
  • @Kathir 这个错误有很多例子。只要谷歌它,如果问题仍然存在,那么请作为一个单独的问题提出,cmets 描述性不是很好。
  • 这绝对有效,但这是不好的做法,因为您应该始终使用 .env 文件
  • @AbhishekJebaraj 能否请您多解释一下或分享更多解释的链接?
  • @JesusAlmaral .env 文件是包含密码和其他敏感信息的本地文件。如果您将所有这些敏感信息都放在代码本身中,那么它可能会受到损害。因此我们使用这个本地文件 .env 并且每个人都在本地存储自己的密码等
【解决方案2】:

在你的项目 settings.py 文件中,像这样设置 ALLOWED_HOSTS :

ALLOWED_HOSTS = ['62.63.141.41', 'namjoosadr.com']

然后重新启动您的 apache。在 ubuntu 中:

/etc/init.d/apache2 restart

【讨论】:

    【解决方案3】:

    settings.py

    ALLOWED_HOSTS = ['*'] // if you are in dev or docker
    

    编辑

    好吧,如果你不使用 docker,请不要在生产环境中这样做,只需输入 IP 地址即可。

    问候

    【讨论】:

    • 正如 pydanny 所说的“......一旦你弄明白了,就不要让它这样。原因是这使得 Django 可能容易受到 HTTP_HOST 标头攻击。自动脚本在互联网上搜索检查如果网站有这个漏洞。” github.com/pydanny/cookiecutter-django/issues/…
    • 大声笑,这是用于开发环境的。在生产中只需要设置 DEBUG=False。
    • 您不想在生产中使用“*”。这完全绕过了允许主机的原因和安全性。
    • @AndyPoquette 通常你是对的,但是使用 docker(并且不暴露后端的端口,而是使用像 nginx 这样的反向代理)即使在生产环境中也可以使用“*”。
    • 永远,永远不要这样做! Allowed * 是主要的安全错误。仅在开发模式下执行此操作!
    猜你喜欢
    • 2021-01-20
    • 2013-02-20
    • 2019-09-29
    • 2014-04-20
    • 2014-03-25
    • 2018-07-05
    • 2016-07-11
    • 2013-09-10
    相关资源
    最近更新 更多