我有一个本地测试/开发服务器(当然是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地址。有更好的主意吗?
当前回答
苹果操作系统
如果您想在mac上使用Virtualbox设置windows环境,只需使用适配器上的默认NAT设置,在windows VM中,转到hosts文件并添加以下内容:
10.0.2.2 localhost
10.0.2.2 127.0.0.1
与上面的答案不同,重要的是要包含这两行,否则它将不起作用。
其他回答
几件事情的组合最终使我的工作顺利进行。在macosx上运行flask服务器。
在我的windows VM中,我编辑了主机文件:
以管理员身份运行记事本打开C:\windows\system32\drivers\etc\hosts添加此条目:10.0.2.2外部
在VirtualBox中关闭VM和Mac:
转到VirtualBox>首选项>网络>仅主机网络>>添加网络vboxnet1转至My_VM>设置>网络>适配器1。选择Enable Network Adapter(启用网络适配器)并将Attached to(连接到)设置为Bridged Adapter(桥接适配器)。然后将“高级”>“混杂模式:”设置为“允许虚拟机”。单击“确定”转至My_VM>设置>网络>适配器1。设置附加到:返回NAT。
然后我转到适配器2
将Attached to:设置为Host only Adapter,然后选择先前添加的网络vboxnet1。
我在我的mac上启动了我的服务器,运行在127.0.0.1:5000上,现在可以在我的vm上访问http://10.0.2.2:5000
伙计,在mac上测试IE简直是噩梦。怎么没有更简单的方法?
如果您将适配器连接到NAT,现在将端口转发设置为本地端口是更好、更优雅的解决方案。
设置>网络>适配器>高级>端口转发
只需插入新规则并将主机端口和来宾端口设置为80(对于http)或22(对于ssh),依此类推。
然后,只需输入http://localhost
您可能还想将NAT切换到透明模式。
要在OSX上启用此功能,我必须执行以下操作:
关闭虚拟机。转到VirtualBox首选项->网络->仅主机网络->单击“+”图标。单击“确定”。选择您的框并单击“设置”图标->网络->适配器2->在“连接到:”下拉列表中,选择“仅主机适配器”,默认情况下,您的网络(vboxnet0)将显示在下面。单击“确定”。再次启动机箱后,您应该能够访问localhosthttp://10.0.2.2/
您可以通过localhost引用它,并通过将它们的引用添加到主机文件(C:\windows\system32\drivers\etc\hosts)来访问其他本地托管站点,如下所示:
10.0.2.2 localhost
10.0.2.2 subdomain.localhost
获取运行Apache的计算机的IP(inet-addr:in ifconfig),并在虚拟机浏览器地址栏中输入。
苹果操作系统
如果您想在mac上使用Virtualbox设置windows环境,只需使用适配器上的默认NAT设置,在windows VM中,转到hosts文件并添加以下内容:
10.0.2.2 localhost
10.0.2.2 127.0.0.1
与上面的答案不同,重要的是要包含这两行,否则它将不起作用。