DisallowedHost位于/​​无效的HTTP_HOST标头:“ www.example.com”。您可能需要将“ www.example.com”添加到ALLOWED_HOSTS

时间:2018-09-07 20:40:59

标签: python django nginx subdomain ubuntu-16.04

我已经在digitalocean ubuntu 16.04中部署了一个Django项目,我的域名是 example.com

因为我想在域名之前添加 www。,以便如果输入 www.example.com ,它也可以定向到我的网站。

我从hostgator购买了域名。

我首先在我的digitalocean DNS记录中添加了 www.example.com ,以便将 www.example.com 定向到我的IP地址。

然后我在django中将 www.example.com 添加到 myproject.setting

 ALLOWED_HOSTS = ['.example.co','www.example.com']

第三次去

sudo nano /etc/nginx/sites-available/myproject

在nginx中添加www.example.com

server {
    listen 80;
    server_name example.com www.example.com;
}

然后我测试并重新启动nginx和gunicorn,没有任何问题。

但是我仍然在/ Invalid HTTP_HOST标头:'www.example.com'上收到问题 DisallowedHost。使用www.example.com

时,您可能需要将'www.example.com'添加到ALLOWED_HOSTS

仅example.com有效。

任何朋友都能帮忙吗?

非常感谢您!

1 个答案:

答案 0 :(得分:2)

我只是按照本教程https://www.digitalocean.com/community/tutorials/how-to-redirect-www-to-non-www-with-nginx-on-ubuntu-14-04#configure-nginx-redirect

解决了

需要注意的是以下形式:

您应该使用:

server {
  server_name www.domain.com;
  return 301 $scheme://domain.com$request_uri;
}
server {
  server_name domain.com;
  [...]
}