我正在尝试以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
]
要发现问题,请首先在
settings.py
中将ALLOWED_HOSTS
临时设置为:然后在
view
中的某个位置,尝试打印并查看此命令的输出:然后根据输出,将其(只是它的域作为列表)设置为
ALLOWED_HOSTS
。注:
使用
ALLOWED_HOSTS = '*'
可能有安全问题,请阅读 关于那个here。每次更改之后,都需要重新启动服务(apache/nginx)。
我的西里尔语域也有同样的问题。
我已经将我的域的惩罚性代码表示添加到允许的主机,这解决了问题。
也许这应该作为一个错误发送给Django,但我没有深入研究(这可能是我的主机配置问题),只有ab(当然还有浏览器)。这个问题对我来说也是间歇性的(通常比下面ab显示的情况更糟)。
没有惩罚性法规
完成请求:20 失败的请求:3
而用惩罚性密码
完成请求:20 失败的请求:0
相关问题 更多 >
编程相关推荐