我用apache运行django,我在apache error.log中遇到以下错误:
django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: 'example.com'. You may need to add 'example.com' to ALLOWED_HOSTS., referer: http://example.com/
在我的settings.py中,我有:
ALLOWED_HOSTS = ['*']
这应该允许任何主持人不应该这样做吗?
编辑: 在进行了一些调查之后,我发现无论我将ALLOWED_HOSTS设置为什么,它总会导致上述错误。当我使用服务器的本地IP地址时,我可以很好地访问网站。唯一不起作用的是远程URL。
答案 0 :(得分:3)
我终于找到了问题的解决方案。
将django与apache连接的wsgi.py覆盖了我的settings.py中的ALLOWED_HOSTS设置。
wsgi拥有自己的ALLOWED_HOSTS,可以独立于django设置进行设置。检查所有可能的配置文件对于发现此错误至关重要。
答案 1 :(得分:1)
只需将网址添加到ALLOWED_HOSTS:
ALLOWED_HOSTS = ['ip.ip.ip.ip', '.example.com', '127.0.0.1']
答案 2 :(得分:0)
我遇到了同样的问题,我在ALLOWED_HOSTS中添加了正确的IP地址,我尝试了*也没有用,直到我重新启动我正在处理的实例。然后一切正常。