我有一个本地测试/开发服务器(当然是HTTP),监听端口8000。

我在Linux上工作,所以为了在Internet Explorer 6、7、8等上测试该页面,我使用VirtualBox运行一个虚拟机;我还需要看看Firefox在windows环境下的外观(例如字体不同)。

在我的真实机器中,我只需使用URL打开网站http://localhost:8000,如何从虚拟机寻址此本地主机?

现在我的解决方法是使用IP地址。有更好的主意吗?


当前回答

macOS操作系统

我正在macOS(以前的OS X)上运行Virtual Box,使用Virtual Box在Windows等上测试IE。

转到Virtual Box中的IE并通过http://10.0.2.2对于本地主机,或http://10.0.2.2:3000对于localhost:3000。

我将网络设置保持为NAT,不需要如上所述的网桥。无需编辑任何配置文件。

其他回答

一般步骤:

公用网络(仅添加主机或桥接NIC)配置首选服务以侦听适当的接口(连接到共享NIC的接口)使用IP:端口访问目标服务,使用属于共享网络的IP。

苹果操作系统

如果您想在mac上使用Virtualbox设置windows环境,只需使用适配器上的默认NAT设置,在windows VM中,转到hosts文件并添加以下内容:

10.0.2.2       localhost
10.0.2.2       127.0.0.1

与上面的答案不同,重要的是要包含这两行,否则它将不起作用。

获取运行Apache的计算机的IP(inet-addr:in ifconfig),并在虚拟机浏览器地址栏中输入。

实际上,user477494的答案原则上是正确的。

我已经在其他环境(OS X主机-虚拟Windows XP)中应用了相同的逻辑,这就是诀窍。我确实必须循环主机LAMP堆栈以获取要解析的IP地址和Apache端口,但一旦我明白了这一点,我就笑了。

我通过在网络下的Virtualbox设置中添加端口转发来解决问题。主机IP设置127.0.0.1端口:8080访客ip:为网站提供任何ip(例如10.0.2.5)端口:8080现在从来宾计算机访问http://10.0.2.5:8080使用IE