我有一个本地测试/开发服务器(当然是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。如果将网络设置为Bridged,则应该能够通过主机名访问主机。例如,如果您的主机名是“jsmith-Precision-7510”,并且您想打开http://localhost:3000/,您可以在http://jsmith-Precision-7510:3000/.
要查找主机名,请打开终端/控制台,然后运行命令hostname。您的主机名将在下一行输出。
有关如何将网络设置设置为Bridged的说明,请参阅VirtualBox文档。
其他回答
您很可能将虚拟机的网络设置为NAT。如果将网络设置为Bridged,则应该能够通过主机名访问主机。例如,如果您的主机名是“jsmith-Precision-7510”,并且您想打开http://localhost:3000/,您可以在http://jsmith-Precision-7510:3000/.
要查找主机名,请打开终端/控制台,然后运行命令hostname。您的主机名将在下一行输出。
有关如何将网络设置设置为Bridged的说明,请参阅VirtualBox文档。
谷歌搜索结果显示:http://data.agaric.com/localhost-from-virtualbox-xp-install-ubuntu
建议使用IP:http://10.0.2.2,这对我有用。
因此,我编辑了hosts文件C:\windows\system32\drivers\etc\hosts,并添加了以下条目:
10.0.2.2 outer
如果您在IE8上进行测试,请记住在地址栏中输入http://。直接放ip是行不通的。
例如:
http://10.0.2.2:3000/
我不得不进入virtualbox并将网络设置更改为“NAT”。之后,我可以通过virtualbox上的仿真器访问主机上运行的localhosthttp://10.0.2.2:3000
苹果操作系统
如果您想在mac上使用Virtualbox设置windows环境,只需使用适配器上的默认NAT设置,在windows VM中,转到hosts文件并添加以下内容:
10.0.2.2 localhost
10.0.2.2 127.0.0.1
与上面的答案不同,重要的是要包含这两行,否则它将不起作用。
实际上,user477494的答案原则上是正确的。
我已经在其他环境(OS X主机-虚拟Windows XP)中应用了相同的逻辑,这就是诀窍。我确实必须循环主机LAMP堆栈以获取要解析的IP地址和Apache端口,但一旦我明白了这一点,我就笑了。