Win7主机和Ubuntu服务器上的Virtualbox来宾端口转发问题

时间:2011-09-10 20:39:03

标签: django virtualbox ubuntu-11.04 portforwarding

我正在尝试设置我认为相当常见的Django开发服务器配置,但我遇到了客户操作系统和主机操作系统之间的端口转发问题。

我正在跑步:

  • Win7主机
  • VirtualBox 4.1.2
  • Ubuntu Server 11.04 Guest。

我正在使用NAT连接到VirtualBox并使用内置的VirtualBox端口转发功能(来自访客的设置 - &gt;网络 - &gt;端口转发菜单),以便我的.vbox XML包含以下部分:< / p>

<NAT>
        <DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
        <Alias logging="false" proxy-only="false" use-same-ports="false"/>
        <Forwarding name="guestdjango" proto="1" hostip="127.0.0.2" hostport="9080" guestport="8080"/>
        <Forwarding name="guesthttp" proto="1" hostip="127.0.0.2" hostport="8080" guestport="80"/>
        <Forwarding name="guestssh" proto="1" hostip="127.0.0.2" hostport="2222" guestport="22"/>
</NAT>

从主机,我可以通过SSH / SFTP进入2222端口的guest,我可以看到nginx“欢迎来到nginx!”在127.0.0.2:8080。

在验证这些之后,我设置了Django并运行Django runsever:

python manage.py runserver 127.0.0.1:8080

来自嘉宾的Lynx,我在127.0.0.1:8080获得了“祝贺”Django页面。

然而,当我从主机导航到127.0.0.2:9080时,我收到“连接已重置。”

1 个答案:

答案 0 :(得分:21)

我不完全确定端口转发是如何工作的,但通常要将runserver暴露给外部网络,你需要将它绑定到localhost之外的其他东西 - 即运行python manage.py runserver 0.0.0.0:8080。看看是否有效。