我是一名网页开发人员,我的开发平台是Mac。 我在VMWare Fusion中安装了Windows XP副本进行测试,并使用IE预览我的网站。 我在Mac上运行Apache并拥有几个子域名,例如test.localhost等。
如何从客户机操作系统访问主机操作系统上的Web服务器?
提前感谢您的帮助。
我是一名网页开发人员,我的开发平台是Mac。 我在VMWare Fusion中安装了Windows XP副本进行测试,并使用IE预览我的网站。 我在Mac上运行Apache并拥有几个子域名,例如test.localhost等。
如何从客户机操作系统访问主机操作系统上的Web服务器?
提前感谢您的帮助。
在Mac OS X 10.9 Mavericks上使用Fusion 6.0.2
关闭虚拟机
打开“虚拟机 | 网络适配器 | 网络适配器设置...”菜单
在“桥接网络”部分选择“自动检测”:
当Win7询问:“是否允许以下程序对此计算机进行更改?”时, 单击“Yes”按钮
导航到:“计算机 | 本地磁盘(C:) | Windows | system32 | drivers | etc”
在“文件名:”字段右侧的下拉菜单中选择“所有文件”
双击“hosts”文件
例如: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
,每行添加一个主机名:
192.168.36.1 test.localhost
然后,当你在IE中输入http://test.localhost/
时,它将路由到你的Mac上的Apache虚拟主机。
安德鲁的答案是正确的,但缺少一个重要部分,即vmnet8
仅在客户操作系统设置为使用桥接网络选项时才会使用。
如果您的客户操作系统正在使用NAT网络选项,如Windows主机示例所示,您需要改用vmnet1
。
在这种情况下,vmnet1
的IP地址192.168.119.1允许访问主机Web服务器,而vmnet8
的IP地址则无效。
双倍注意,这个答案是Andrew和Camaleo答案的混合体,因为它们都没有在我的设置中工作(没有指向Mac的ip和桥接网络的“自动检测”出现了问题?),不确定Docker Machine的包含是否导致了问题
如果你的设置如下:
从Windows 10 VM内部以管理员身份打开Notepad(右键单击notepad选项)。导航到C:\Windows\System32\drivers\etc
,而不是选择Text Documents(*.txt)
,选择All Files
。打开hosts
文件,并添加一个主机条目以获取您的Docker Machine的IP(通过docker-machine ls
)。根据我们上面的示例设置,该行将如下所示:
192.168.99.102 myapp.test # or some other fitting name
保存更改。
注意:在 VMware Fusion 10 中进行网络更改时,无需停止或重新启动虚拟机。
从 VMware Fusion 菜单中选择 虚拟机
/ 网络适配器
/ 网络适配器设置
。选择 与我的 Mac 共享
。
如果已经选择了“与我的 Mac 共享”,请选择其他网络适配器选项(例如桥接网络自动),然后重新选择“与我的 Mac 共享”,以确保主机文件更改已生效
通过 ping 所需地址(例如上面显示的“myapp.test”)或打开 Edge/Chrome 检查网页是否加载来测试更改是否已生效。
注意,建议使用以 .test
结尾的域名,否则 Chrome 可能仍会出现 HSTS 错误