Django 无效HTTP_HOST标头:"<ip>"。您可能需要在<ip>ALLOWED_HOSTS中添加""



<ip>显示了一个实际的ip地址,我只是没有将其包含在标题中。我相信这个ip地址是我的EC2实例的内部ip。我用的是AWS弹性豆茎。

我看到这个问题在SO上已经得到了很多答案,答案总是将ip地址添加到ALLOWED_HOSTS中,但在我的情况下,我已经设置了ALLOWED_HOSTS=['*'],但我仍然会收到错误。

奇怪的是,只有当我试图通过手机访问该网站时,我才会收到错误。当我从桌面浏览器访问时,它运行良好。。。

我尝试过的东西:

  1. 我已经仔细检查了我的弹性豆茎部署,这些更改肯定已经部署好了

好吧,这可能不是其他人的答案,但对我来说是。。在我的情况下,我在前端执行http GET请求,却忘记了额外的"/"在url的末尾。我的django-urls.py在末尾用斜杠定义url。我的解决方案是添加额外的"/"在执行http GET时。

在我的桌面上,这是自动处理的,因为django会自动重定向(302(,我的桌面浏览器会转到末尾带有/的url,但我的手机没有进行重定向!

这以某种方式引发了无效的HTTP_HOST标头错误。

对于大多数人来说,修复此类错误消息的方法是将您的所有域添加到ALLOWED_HOSTS列表中。

哦,如果你像我一样使用弹性豆茎,别忘了添加AWS域名。它应该看起来像这样:

ALLOWED_HOSTS=['<your-unique-id>.elasticbeanstall.com','example.com','<your-subdomain>.example.com']

不要在prod中执行ALLOWED_HOSTS=['*']!!

最新更新