我有一个本地测试/开发服务器(当然是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地址。有更好的主意吗?
当前回答
无法将请求重新定向到VM中的localhost到主机的localhost,现在已将其烘焙到Windows中(https://www.rfc-editor.org/rfc/rfc6761#section-6.3),包括VMhttps://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
为了安全保证,Microsoft现在防止主机文件条目将localhost的地址重写为环回地址以外的任何地址::1。因此,在VM的主机文件中添加一行,例如
10.0.2.2 localhost
将被忽略。
有两种方法(据我所知)可以覆盖这一点:
使用NETSH将代理传输到主机netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=8000 connectaddress=10.0.2.2 connectport=8000
(其中10.0.2.2是VM上的默认网关,8000是要解析到主机上的端口。)
设置IIS以执行应用程序请求路由,然后将localhost:port的请求重写为hostIP:port
https://learn.microsoft.com/en-us/iis/extensions/configuring-application-request-routing-arr/creating-a-forward-proxy-using-application-request-routing
其他回答
您不需要更改主机文件或任何虚拟机配置。保留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
如果您使用Virtual Box,您可以使用一行代码将Mac OSX(我认为是Linux)连接到虚拟windows机器-->我建议在终端中运行该程序之前停止该程序。
VBoxManage修改“您的VM名称”--natdnsostresolver1
我会注意到这是来自我正在运行的Dinghy文档,但它是一个虚拟盒子命令,所以只要它的虚拟盒子,它就不应该真正关心你使用什么
我需要在本地主机上运行,而不是一些奇怪的IP。
1) 在Mac终端上,执行iconfig-a查找本地IP地址。这可能是最后一个。
en7:flags=8863<向上,广播,智能,运行,简单,多播>mtu 1500选项=10b<RXSUM、TXCSUM、VLAN_HWTAGGGING、AV>乙醚38:c9:86:32:0e:69inet6 fe80::ea:393e:a54f:635%en7前置轴64安全作用域0xeinet 10.1.5.60网络掩码0xfffffe00广播10.1.5.255nd6选项=201<性能,DAD>介质:自动选择(1000baseT<全双工,流量控制>)状态:活动
例如10.1.5.60
2) 启动windows映像。开始>键入cmd以获取终端
3) 记事本c:\windows\system32\drivers\etc\hosts
4) 添加以下行10.1.5.60本地主机
5) 打开IE,以下url应该会命中在mac上运行的服务器:http://localhost:3000/
在虚拟箱中
将网络设置为桥接网络转到高级设置混杂模式:全部允许
现在,棘手的问题是本地主机,如果您从Node.js运行,请将IP地址设置为0.0.0.0,然后查找您自己的IP地址,例如cmd:ipconfig-->10.0.0.3
键入带有端口号的地址。它会奏效的。
我通过在网络下的Virtualbox设置中添加端口转发来解决问题。主机IP设置127.0.0.1端口:8080访客ip:为网站提供任何ip(例如10.0.2.5)端口:8080现在从来宾计算机访问http://10.0.2.5:8080使用IE