我正在尝试设置我认为是相当常见的 Django 开发服务器配置,但我遇到了来宾操作系统和主机操作系统之间的端口转发问题。
我在跑:
- Win7主机
- 虚拟盒子 4.1.2
- Ubuntu 服务器 11.04 来宾。
我正在使用 NAT 连接到 VirtualBox 并使用内置的 VirtualBox 端口转发功能(来自来宾的设置 -> 网络 -> 端口转发菜单),这样我的 .vbox XML 包含以下部分:
<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 上访问来宾,我可以看到 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 时,我得到“连接已重置”。