美文网首页
Django设置DEBUD为False后出现400错误

Django设置DEBUD为False后出现400错误

作者: 嘿嘿_小于同学 | 来源:发表于2017-02-23 20:59 被阅读208次
1、问题####

在生产服务器中关闭调试模式,将setting.py文件中的DEBUTG设置为False;并将ALLOW_HOST=[]中填入自己的域名。但在重启服务器的时候,访问首页浏览器出现400的错误代码。
setting.py

[...]
DEBUG = False

ALLOW_HOST = ['mysite.com']

[...]

2、解决方法####

如果DEBUG设置为True时,服务器不会检查request header中的HTTP_HOST;当DEBUG设置为False时,就会检查。经过搜索发现Nginx做反向代理,但是没有设置转发后的request的host。
在Nginx的配置文件(Nginx提供默认的default配置文件,但是我这里说的是我们自己新建的配置文件)
加入下面

server{
  listen 80;
  server_name yourDomainName;

  location / {
    proxy_set_header Host &host;
    proxy_pass http://localhost:8000;
  }
}
prosy_set_header Host $host

这样就解决了问题!

相关文章

网友评论

      本文标题:Django设置DEBUD为False后出现400错误

      本文链接:https://www.haomeiwen.com/subject/iizbwttx.html