宿主机访问ubuntu虚拟机内的Django应用,访问不到的解决办法

时间:2021-01-23 14:48:33

在ubuntu15虚拟机内搭建了Django的基础环境,在ubuntu中可以正常访问

curl 127.0.0.1:8000

宿主机访问ubuntu虚拟机内的Django应用,访问不到的解决办法

问题一、在宿主机输入ip:8000后,一直访问不到,怀疑一下几个问题:

  1. 网络问题,排查后互相能ping通
  2. 防火墙问题,ufw status为已关闭(平时不建议如此),但仍然访问不到
  3. 研究了Django的服务启动命令
python manage.py runserver 0.0.0.0:8000

  其中,0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000,

问题二、按照要求添加之后,重新启动服务,宿主机确实可以访问到了,提示不允许的host

宿主机访问ubuntu虚拟机内的Django应用,访问不到的解决办法

后台报错400,提示需要添加ip到ALLOWED_HOSTS

宿主机访问ubuntu虚拟机内的Django应用,访问不到的解决办法

解决办法:

编辑项目目录下的setting.py ,把其中的

ALLOWED_HOSTS=[]改成ALLOWED_HOSTS=['*']

// * 表示任意地址。

此时重新启动服务,再访问就可以成功打开页面了

宿主机访问ubuntu虚拟机内的Django应用,访问不到的解决办法