【发布时间】:2014-03-20 13:25:51
【问题描述】:
我正在尝试以Debug=False 模式在 VPS 上午餐我的应用程序。 Debug=True 工作正常,但是当我将其更改为 false 时出现此错误。我使用 Apache 来渲染 python 页面和 Nginx 来提供我的静态文件。我尝试使用这个[答案]:Debugging Apache/Django/WSGI Bad Request (400) Error,但至少对我不起作用。这是我的 wsgi 配置:
#wsgi.py
import os
import sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'example.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
path = '/var/www/example'
if path not in sys.path:
sys.path.append(path)
我还在我的设置文件中添加了以下代码:
ALLOWED_HOSTS = [
'.example.com', # Allow domain and subdomains
'.example.com.', # Also allow FQDN and subdomains
]
【问题讨论】:
-
你用你的真实域名替换
example.com?您是否也收到此ALLOWED_HOSTS = '*'的 404 错误?您的模板文件夹的根目录中有404.html模板文件吗? -
@OmidRaha 谢谢我更改了
ALLOWED_HOSTS = '*'并解决了问题。你能解释一下为什么我的域名不行吗?是的,我将 example.com 更改为我的真实域名。 -
*不好,通过添加域来修复它,查看ALLOWED_HOSTS -
不,两者都不起作用。但是
*的问题是什么? -
*具有安全性issue,首先将*设置为ALLOWED_HOSTS,然后在某处查看打印并查看print(request.META['HTTP_HOST'])或print(request.get_host())的输出,然后设置该输出(只是它作为列表的域)到您的ALLOWED_HOSTS
标签: python django apache python-2.7 nginx