宿主机访问ubuntu虚拟机内的Django应用,访问不到的解决办法
在ubuntu15虚拟机内搭建了Django的基础环境,在ubuntu中可以正常访问
curl 127.0.0.1:8000
问题一、在宿主机输入ip:8000后,一直访问不到,怀疑一下几个问题:
- 网络问题,排查后互相能ping通
- 防火墙问题,ufw status为已关闭(平时不建议如此),但仍然访问不到
- 研究了Django的服务启动命令
python manage.py runserver 0.0.0.0:8000
其中,0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000,
问题二、按照要求添加之后,重新启动服务,宿主机确实可以访问到了,提示不允许的host
后台报错400,提示需要添加ip到ALLOWED_HOSTS
解决办法:
编辑项目目录下的setting.py ,把其中的
ALLOWED_HOSTS=[]改成ALLOWED_HOSTS=['*']
// * 表示任意地址。
此时重新启动服务,再访问就可以成功打开页面了