问题是我在两台虚拟(ubuntu服务器)机器上测试 django helloworld 。
一个虚拟IP是xxx.xxx.xxx.xxx(例子123.4.5.6), 物理IP是yyy.yyy.yyy.yyy(例如9.87.6.5),
另一个是xxx.xxx.xxx.xxx(例子123.4.5.7) 物理IP是yyy.yyy.yyy.yyy(例如9.87.6.4),
所有这些都是静态的"虚拟IP" 和静态IP
问题是, 在加载第一个django helloworld的页面时,一切都很好 (这两个helloworld是相同的编码,彼此独立),
但是当我尝试构建第二个django helloworld并连接到服务器时,它说
找不到页面(404)
请求方法:GET
请求网址:http://9.87.6.4/http:/9.87.6.4/
{'路径':' http://9.87.6.4/'}
您看到此错误,因为您的Django中有DEBUG = True 设置文件。将其更改为False,Django将显示一个 标准404页。
和服务器调试器说
执行系统检查......
系统检查发现没有问题(0静音)。
2017年11月30日 - 12:13:18
Django版本1.11.7,使用设置' helloworld.settings'
启动开发服务器使用CONTROL-C退出服务器。
未找到:/http:/9.87.6.4:80 /
[30 / Nov / 2017 12:13:19]" GET http://9.87.6.4:80/ HTTP / 1.1" 404 1666
请注意,还有一个额外的http:/9.87.6.4/ 请求网址
我尝试重新安装apache2
(但很可能它与apache2无关,但与我认为的虚拟机无关)
它仍然没有用。
我的虚拟机基于OPENSTACK。
因为有时django-debugger甚至打印像
这样的东西[30/Nov/2017 12:37:58] "GET http://nova.clouds.archive.ubuntu.com/ubuntu/dists/xenial-updates/multiverse/binary-amd64/Packages HTTP/1.1" 400 61127
Invalid HTTP_HOST header: 'windowbox.me'. You may need to add 'windowbox.me' to ALLOWED_HOSTS.
或
[30/Nov/2017 12:37:58] "GET http://google.com HTTP/1.1" 400 61127
Invalid HTTP_HOST header: 'google.com'. You may need to add 'google.com' to ALLOWED_HOSTS.
在访问问题虚拟机后,使用物理机(非虚拟机)访问Google页面时,
所以我想我的第二台虚拟机上可能存在错误设置。
顺便说一句,如果我使用第一台虚拟机中的lynx访问问题虚拟机中的helloworld页面,一切都很精细。没有http 404且没有重复的网址