我有一个本地测试/开发服务器(当然是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文档。
其他回答
我不得不进入virtualbox并将网络设置更改为“NAT”。之后,我可以通过virtualbox上的仿真器访问主机上运行的localhosthttp://10.0.2.2:3000
获取运行Apache的计算机的IP(inet-addr:in ifconfig),并在虚拟机浏览器地址栏中输入。
检查您是否可以使用以下命令访问父计算机:ipconfig(获取您的ip地址)
ping<ip>或telnet<ip><port>
如果无法访问端口,请尝试在父防火墙中添加允许本地端口的新入站规则。
然后我可以访问http://<ip>:<port>
如果您将适配器连接到NAT,现在将端口转发设置为本地端口是更好、更优雅的解决方案。
设置>网络>适配器>高级>端口转发
只需插入新规则并将主机端口和来宾端口设置为80(对于http)或22(对于ssh),依此类推。
然后,只需输入http://localhost
您可能还想将NAT切换到透明模式。
您需要在Windows虚拟机上编辑主机文件,方法与本地主机相同:
C: \WINDOWS\system32\drivers\etc\hosts
并将虚拟主机链接到10.0.2.2,如果您只是使用localhost,请替换
127.0.0.1本地主机和10.0.22本地主机
例如:
10.0.2.2 localhost
10.0.2.2 local.site1.com
10.0.2.2 local.site2.com
这告诉您的虚拟机为这些域名指向您的本地计算机。