我有一个本地测试/开发服务器(当然是HTTP),监听端口8000。
我在Linux上工作,所以为了在Internet Explorer 6、7、8等上测试该页面,我使用VirtualBox运行一个虚拟机;我还需要看看Firefox在windows环境下的外观(例如字体不同)。
在我的真实机器中,我只需使用URL打开网站http://localhost:8000,如何从虚拟机寻址此本地主机?
现在我的解决方法是使用IP地址。有更好的主意吗?
我有一个本地测试/开发服务器(当然是HTTP),监听端口8000。
我在Linux上工作,所以为了在Internet Explorer 6、7、8等上测试该页面,我使用VirtualBox运行一个虚拟机;我还需要看看Firefox在windows环境下的外观(例如字体不同)。
在我的真实机器中,我只需使用URL打开网站http://localhost:8000,如何从虚拟机寻址此本地主机?
现在我的解决方法是使用IP地址。有更好的主意吗?
当前回答
如果您将适配器连接到NAT,现在将端口转发设置为本地端口是更好、更优雅的解决方案。
设置>网络>适配器>高级>端口转发
只需插入新规则并将主机端口和来宾端口设置为80(对于http)或22(对于ssh),依此类推。
然后,只需输入http://localhost
您可能还想将NAT切换到透明模式。
其他回答
获取运行Apache的计算机的IP(inet-addr:in ifconfig),并在虚拟机浏览器地址栏中输入。
我发现10.0.2.2:<port>可以工作,但前提是“混杂模式”设置正确。安装VM后,我转到“设置”>“网络”>“适配器1”。
默认设置NAT,并禁用“混杂模式”下拉列表。我从NAT切换到Bridged Adapter,它启用了“混杂模式”下拉列表,然后将值从“拒绝”更改为“允许VM”。然后我切换回NAT,它再次禁用了混杂模式,但保留了新值。
仅此更改后,我就可以启动VM并查看主机localhost:<port>位于我的VM 10.0.2.2:<port>。
您不需要更改主机文件或任何虚拟机配置。保留NAT中的设置。转到Windows实例并运行“cmd”或打开cmd.exe。执行命令“ipconfig”并获取默认网关IP地址。浏览http://10.0.2.2:8080在Windows IE上,您将看到与Mac Safari相同http://localhost:8080/或http://127.0.0.1:8080
一般步骤:
公用网络(仅添加主机或桥接NIC)配置首选服务以侦听适当的接口(连接到共享NIC的接口)使用IP:端口访问目标服务,使用属于共享网络的IP。
实际上,user477494的答案原则上是正确的。
我已经在其他环境(OS X主机-虚拟Windows XP)中应用了相同的逻辑,这就是诀窍。我确实必须循环主机LAMP堆栈以获取要解析的IP地址和Apache端口,但一旦我明白了这一点,我就笑了。