我是一名网络开发人员,我的开发平台是 Mac。我在 VMWare fusion 中安装了 Windows XP 的副本,用于测试目的并使用 IE 预览我的网站。我在我的 Mac 上运行 Apache,有几个子域,比如test.localhost等。
如何从来宾操作系统访问主机操作系统上的网络服务器?
先感谢您。
我是一名网络开发人员,我的开发平台是 Mac。我在 VMWare fusion 中安装了 Windows XP 的副本,用于测试目的并使用 IE 预览我的网站。我在我的 Mac 上运行 Apache,有几个子域,比如test.localhost等。
如何从来宾操作系统访问主机操作系统上的网络服务器?
先感谢您。
在 OS X 10.9 Mavericks 上使用 Fusion 6.0.2
关闭你的虚拟机
打开“虚拟机|网络适配器|网络适配器设置...”菜单
在“Bridget Networking”部分选择“Autodetect”:
当 Win7 询问:“您要允许以下程序对这台计算机进行更改吗?” 点击“是”按钮
导航到:“计算机 | 本地磁盘 (C:) | Windows | System32 | 驱动程序 | 等”
在“文件名:”字段右侧的下拉菜单中选择“所有文件”
双击“主机”文件
示例中的 192.168.1.106
在示例中,我配置了两个站点:localhost 和 caeb.leo
希望能帮助到你!
VMWare Fusion 在您的 Mac 上注册一个 IP 地址,您可以使用它从虚拟机指向主机。你可以找到它ifconfig vmnet8
。我的192.168.36.1,你的可能是一样的。
如果您使用的是 apache 虚拟主机,并且您尝试从虚拟机上的该地址获取 http,它可能会显示默认的 apache 页面。您需要在 Windows 主机上映射域:
在记事本中打开C:\WINDOWS\system32\drivers\etc\hosts
并添加您的主机名,每行 1 个:
192.168.36.1 test.localhost
然后,当您放入http://test.localhost/
IE 时,它将路由到您的 Mac 的 apache 虚拟主机。
安德鲁的回答虽然正确,但缺少重要部分,即vmnet8
仅在客户操作系统设置为使用桥接网络选项时使用。
如果您的来宾操作系统正在使用 NAT 网络选项,如此 Windows 主机示例中所示,您将需要vmnet1
改用。
在这种情况下,vmnet1
192.168.119.1 的 IP 允许访问主机 Web 服务器,而 IP 则vmnet8
无处可去。
请注意,我为那些像我一样有与标题相同的问题但与将 Apache 作为原始本地安装运行的细节不完全相同的人提供此答案
请注意,这个答案是 Andrew 和 Camaleo 的答案的混合体,因为在我的设置中都没有工作(没有指向 Mac 的 ip 和桥接网络的“自动检测”由于某种原因不起作用?),不确定是否包含 Docker Machine导致打嗝
如果你的设置是这样的:
从 Windows 10 VM 中以管理员身份打开记事本(右键单击记事本以获取该选项)。导航到C:\Windows\System32\drivers\etc
和 而不是Text Documents(*.txt)
select All Files
。打开hosts
文件并为您的 Docker 机器的 IP(通过docker-machine ls
)添加一个主机条目。根据我们上面的示例设置,该行如下所示:
192.168.99.102 myapp.test # or some other fitting name
保存更改。
注意:进行网络更改时,无需停止或重新启动 VMware Fusion 10 中的虚拟机。
从 VMware Fusion 菜单中选择 Virtual Machine
/ Network Adapter
/ Network Adapter Settings
。选择Share with my Mac
。
如果已选择“与我的 Mac 共享”,请选择不同的网络适配器选项(如自动桥接网络),然后重新选择“与我的 Mac 共享”以确保更改主机文件
通过 ping 所需地址(例如,如上所示的“myapp.test”)或通过打开 Edge/Chrome 检查网页是否加载,可以在 Windows VM 中进行测试更改
请注意,建议使用以 结尾的域名,.test
否则 Chrome 可能仍然存在 HSTS 错误问题