如何调试“你可能需要将'maginate.net'添加到ALLOWED_HOSTS”

时间:2018-06-04 05:34:31

标签: python django nginx web gunicorn

我知道这个问题与其他问题非常相似,但我读了所有这些问题,但仍未找到解决方案。

我在Google Domains中注册了maginate.net,因此域名处于活动状态。进入该域时,它会产生DisallowedHost异常。它说在local_settings.py中将域名放在ALLOWED_HOSTS中,我做了。当我输入IP地址206.189.179.58时,网站运行完美。在我的ALLOWED_HOST中是一个列表:

ALLOWED_HOSTS = ['206.189.179.58', 'maginate.net', 'www.maginate.net']

是的,我已多次重启服务器。我不知道我的settings.py是否与此有关,但是将ALLOWED_HOSTS留空或者仍然没有给出错误。我也遵循这个tutorial并完全按照它说的做。

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:2)

您仅在本地系统中更新了settings.py,并且尚未将更新后的设置代码上传到生产中。

我查看了您的网址并显示错误。

enter image description here

ALLOWED_HOSTS中看到您的'206.189.179.58'仅包含'maginate.net''www.maginate.net'ALLOWED_HOSTS 未添加

只需尝试更改和上传。

  

看到代码后更新

您已将settings.pylocal_settings.py置于投资组合目录中,但它应位于投资组合/投资组合

它会正常工作。

答案 1 :(得分:0)

chapterTest-Driven Development with Python获取,看起来您的nginx配置可能出现问题:

  

使用Nginx修复ALLOWED_HOSTS:传递主机标题

     

问题是,默认情况下,Nginx剥离了   来自请求转发的主机标头,它使它看起来像#34;   毕竟他们来自localhost。我们可以告诉它转发   通过添加proxy_set_header指令原始主机头:

     

服务器:/etc/nginx/sites-available/superlists-staging.ottg.eu

server {
     listen 80;
     server_name superlists-staging.ottg.eu;

     location /static {
         alias /home/elspeth/sites/superlists-staging.ottg.eu/static;
     }

     location / {
         proxy_pass http://unix:/tmp/superlists-stagng.ottg.eu.socket;
         proxy_set_header Host $host;
     } 
}