Python 正在Django上移动域:“quot;错误:该IP地址可以';不能分配给;
我正在Debian机器上运行Django 1.8。我以前在一个旧域名上运行过Gunicorn网站。现在我正试图把它转移到一个新的领域 我已经更新了Django设置文件中的Python 正在Django上移动域:“quot;错误:该IP地址可以';不能分配给;,python,django,Python,Django,我正在Debian机器上运行Django 1.8。我以前在一个旧域名上运行过Gunicorn网站。现在我正试图把它转移到一个新的领域 我已经更新了Django设置文件中的ALLOWED_HOSTS设置,添加了新域并删除了旧域。我已使用supervisord重新启动Gunicorn。但是,该站点已关闭(CloudFlare的521错误页面) Gunicorn日志中没有错误,因此我通过确保可以运行Django应用程序来启动调试过程 当我尝试使用new域运行runserver时,我看到以下错误: $
ALLOWED_HOSTS
设置,添加了新域并删除了旧域。我已使用supervisord重新启动Gunicorn。但是,该站点已关闭(CloudFlare的521错误页面)
Gunicorn日志中没有错误,因此我通过确保可以运行Django应用程序来启动调试过程
当我尝试使用new域运行runserver
时,我看到以下错误:
$ python manage.py runserver example-new.com:8000
Performing system checks...
System check identified no issues (0 silenced).
June 18, 2015 - 11:14:57
Django version 1.7.7, using settings 'example.settings.local'
Starting development server at http://example-new.net:8000/
Quit the server with CONTROL-C.
Error: That IP address can't be assigned-to.
但是,当我尝试用旧的域运行它时,它仍然工作,奇怪的是:
$ python manage.py runserver example-old.com:8000
Performing system checks...
System check identified no issues (0 silenced).
June 18, 2015 - 11:16:32
Django version 1.8, using settings 'example.settings.local'
Starting development server at http://example-old.com:8000/
Quit the server with CONTROL-C.
我觉得这很奇怪,因为我确信/example/settings/local.py
是最新的,我的其他设置文件也是最新的
除了
允许的\u主机
,还有什么我需要更新的吗?或者我需要用某种方式让Django发现更新的设置吗?这是因为您使用的是旧版本。我面临着同样的问题,经过更新,一切都很好 如果我尝试运行python manage.py runserver google.com:8000
,我会遇到同样的错误。因此,我猜Django可能不认为该站点是一个允许的主机,或者在我的配置中有其他一些权限错误?更多调试:我可以使用python manage.py runserver xxx.xxx.xxx:8000直接绑定到我的IP地址。我已经在新域前面设置了CloudFlare。这可能与此有关吗?如果您在新域上执行nslookup
,是否会返回IP?这个IP地址是分配给本地接口的吗?谢谢。我确实看到了一个IP(不是我域的IP),如果我在浏览器中访问,我会看到错误1003/不允许直接IP访问/您请求的IP地址是CloudFlare网络的一部分
。这很有意义,因为我将CloudFlare放在了新域的前面。我是否需要做一些特殊的事情来让Django与CloudFlare配合使用?我还没有将Django与CloudFlare配合使用,但我敢说Django只愿意绑定到本地接口上的IP。我想知道如果你只是插入CloudFlare,你的旧域名是否可以使用。。。我假设0.0.0.0:8000也可以工作,它只是告诉Django监听所有本地接口。