我知道这个问题与其他问题非常相似,但我读了所有这些问题,但仍未找到解决方案。
我在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并完全按照它说的做。
答案 0 :(得分:2)
您仅在本地系统中更新了settings.py
,并且尚未将更新后的设置代码上传到生产中。
我查看了您的网址并显示错误。
在ALLOWED_HOSTS
中看到您的'206.189.179.58'
仅包含'maginate.net'
和'www.maginate.net'
,ALLOWED_HOSTS
未添加。
只需尝试更改和上传。
看到代码后更新
您已将settings.py
和local_settings.py
置于投资组合目录中,但它应位于投资组合/投资组合
它会正常工作。
答案 1 :(得分:0)
从chapter的Test-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; } }