Microsoft Edge不会在Vagrant VM中加载本地nginx网站
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Microsoft Edge不会在Vagrant VM中加载本地nginx网站相关的知识,希望对你有一定的参考价值。
我遇到一个奇怪的问题,Microsoft Edge没有加载托管在流浪虚拟机中的本地Craft CMS网站。任何加载本地配置的主机名或IP的尝试都会返回“嗯,我们无法访问此页面”。错误。
我的主机文件中有一行:
192.168.10.12 test.craft.dev
我已经阅读了有关Microsoft Edge未正确处理hosts文件的各种资源,但是,即使IPv4地址也不起作用。我已经尝试了几个与Internet选项调整相关的建议,但没有任何作用,但似乎主机文件不是问题。
网络配置使用NAT并设置192.168.10.x
范围内的IP(由Homestead.yaml
定义,如果我分配一个public_network并获取具有我的LAN网络DHCP范围的IP,Edge可以访问此IP,但它不解释为什么所有其他浏览器工作,Edge没有它。
值得一提的是,本地Craft主机名将在其他所有浏览器(包括IE)中正常加载。由于某些网络级问题,Microsoft Edge是否存在在VirtualBox中加载本地网站的特定问题?
安装并运行fiddler。它会自动完成所有事情。
看来你正在使用Laravel Homestead box。如果是这样,您可以将一个主机端口forward连接到VM的80端口。因此,您将能够访问MS Edge上托管在您的VM上的网站。
这就是我所做的:
ports:
- send: 8000
to: 80
如果你不想输入yourdomain.dev:8000,你可以使用fiddler。因此,您只能输入yourdain.dev。 :d
边缘浏览器似乎注意您用于访问您的网站的界面。我的猜测是你正在使用Vagrant来启动Virtualbox VM。我的答案假设您通过Virtualbox仅主机网络或NdisDeviceType为1的其他网络接口进行访问。
What didn't work
以下所有内容均不适合我:
- 使用about:flags并确认“allow localhost loopback”已启用
- 控制面板,网络和Internet,Internet选项,安全性以及将我的站点明确添加到可信站点或本地Internet。
- CheckNetIsolation LoopbackExempt -a -n =“Microsoft.MicrosoftEdge_8wekyb3d8bbwe”
My environment
在我的例子中,我在Windows 10 build 1803“Spring Creators Update”上运行VirtualBox 5.2.18。使用Edge 42.17134.1.0。我的VM guest虚拟机有一个仅限主机的网络。例如192.168.7.0/24。我无法访问VM主机上的Edge中的地址,例如http://192.168.7.0
。此站点由在VM guest虚拟机中运行的Web服务器托管。请注意,此地址在Google Chrome,Internet Explorer 11等中运行良好。
What worked
解决方案如下:
- 查找仅主机网络的接口号。我从Windows命令行运行“route print”,在我的情况下,“接口列表”中显示的第一个数字是17。
- 使用regedit将接口类型从1更改为0.关键是: HKEY_LOCAL_MACHINE SYSTEM CURRENTCONTROLSET 控制类{4D36E972-E325-11CE-BFC1-08002BE10318} XXXX
在我的情况下,XXXX是0016,因为我的接口号是17.我不得不将*NdisDeviceType
从0更改为1.该键名中的*是字面星号。我必须重新启动才能使更改生效。
答案是从2017年10月3日的“Jani L”的帖子中收集的,在下面引用的第一个URL上,但它没有给出如何确定接口号的线索。下面的第二个参考是我最初发布此解决方案的主题。
参考文献:
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10142843/
https://www.virtualbox.org/ticket/15565
以上是关于Microsoft Edge不会在Vagrant VM中加载本地nginx网站的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft Edge 无法使用专用 IP 访问 VM