首页 文章

无法从主机访问VMWare来宾Web服务器

提问于
浏览
4

软件:Mac OS X 10.5.8上的VMWare Fusion 2.05(也适用于Vista上的VMWare Workstation 6.5.2,用于验证问题)访客:Ubuntu Server 9.04(也适用于Ubuntu Desktop 9.04,用于修复问题) )VMWare网络:桥接路由器:Apple TimeCapsule,最新固件

问题:

在guest上成功安装Django 1.1并启动Django的内置web服务器(监听127.0.0.1:8000)之后,我通过wget 127.0.0.1:8000(以及Ubuntu Desktop 9.04上的Firefox)进行了验证,确实服务器工作正常 .

但是,我无法从主机连接到Django服务器 .

特别:

在桥接模式下,客户操作系统具有IP 172.16.1.6(由TimeCapsule通过DHCP分配),主机OS具有IP 172.16.1.2(由TimeCapsule通过DHCP分配) . 我可以从主机成功ping客户端,也可以从guest虚拟机ping主机 . 但是无法从主机操作系统访问端口8000上的Django服务器 .

是否必须启用任何配置设置才能将Django服务器从guest虚拟机路由到主机?在Ubuntu,VMWare(工作站或Fusion),Vista或Mac OS X中?

编辑:

我找到了解决方案 . 在调用django-admin.py runserver时,有一个记录的可选参数ipaddr:port . 将其设置为172.16.1.6(而不是默认值127.0.0.1)可以启用从guest虚拟机到主机的正确路由 .

2 回答

  • 8

    我发现你可以用以下命令启动服务器,这会打开所有ip的...

    python manage.py runserver 0.0.0.0:8000
    

    别客气 .

  • 1

    这可能是一个serverFault问题?

    我一直在mac上运行多个VMWare实例,它们互相访问很好,从主机访问工作正常,所以这里没有理论问题 . 虽然我不是Django专家,但我发现你所描述的内容并没有错 .

    我建议尝试更简单的方法,比如尝试访问一个简单的文本index.html文件,首先从VM内部的127.0.0.1:8000,然后从主机中访问172.16.1.6:8000 . 或者甚至可能设置apache并在端口80上尝试这些以确保连接正常 .

相关问题