<ip>
显示了一个实际的ip地址,我只是没有将其包含在标题中。我相信这个ip地址是我的EC2实例的内部ip。我用的是AWS弹性豆茎。
我看到这个问题在SO上已经得到了很多答案,答案总是将ip地址添加到ALLOWED_HOSTS中,但在我的情况下,我已经设置了ALLOWED_HOSTS=['*'],但我仍然会收到错误。
奇怪的是,只有当我试图通过手机访问该网站时,我才会收到错误。当我从桌面浏览器访问时,它运行良好。。。
我尝试过的东西:
- 我已经仔细检查了我的弹性豆茎部署,这些更改肯定已经部署好了
好吧,这可能不是其他人的答案,但对我来说是。。在我的情况下,我在前端执行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=['*']!!