Django站点不能与DEBUG = False一起使用

时间:2013-09-01 14:59:41

标签: python django webfaction

我正在使用Django 1.5,我知道安全问题requiring the ALLOWED_HOSTS argument to include the host。该网站托管在webfaction上。

当我将生产网站设置为DEBUG = False时,每个页面都会出现500个错误。我得到的错误是:

  

SuspiciousOperation:无效的HTTP_HOST标头(您可能需要设置   ALLOWED_HOSTS):www.mydomain.org

但是在 settings.py 中,我有以下内容:

ALLOWED_HOSTS = ['.mydomain.org']

这让我发疯了。有什么想法吗?

修改:这似乎与header spoofing as in this post无关。我的设置与错误消息中显示的允许主机相匹配。

使用解决方案进行更新:我很尴尬地说我稍后在 settings.py 文件中发出了第二个ALLOWED_HOSTS = [ ]声明。这超出了我之前的声明并造成了问题。

2 个答案:

答案 0 :(得分:4)

也许您只需要使用完整的域名格式化您的域名,如:

ALLOWED_HOSTS = ['www.mydomain.org']

这对我有用(不再有500个错误)

确保您通过 www .mydomain.org

访问您的prod应用程序

答案 1 :(得分:0)

此Stackoverflow问题可以帮助您:

Django's SuspiciousOperation Invalid HTTP_HOST header

关于这件事已经开了一张票:

https://code.djangoproject.com/ticket/19866