无法在 Windows 10 预览版的 Microsoft Edge (Project Spartan) 中打开 localhost
Posted
技术标签:
【中文标题】无法在 Windows 10 预览版的 Microsoft Edge (Project Spartan) 中打开 localhost【英文标题】:Can't open localhost in Microsoft Edge (Project Spartan) in Windows 10 preview 【发布时间】:2015-07-31 19:01:22 【问题描述】:我安装了 Windows 10 预览版并安装了 IIS。
在 Project Spartan 中打开“http://localhost”无法连接。
IE 没有问题。有什么问题?
【问题讨论】:
这可能是 Spartan 的一个怪癖,因为它不是最终版本。从提升的命令提示符运行CheckNetIsolation LoopbackExempt -a -n=Microsoft.Windows.Spartan_cw5n1h2txyewy
是否可以解决问题?
自 build 10166 起,localhost is now accessible by default in Microsoft Edge。
我在尝试打开 http://my-fqdn 时遇到了同样的问题(其中 my-fqdn 是我的笔记本电脑的完全限定域名)。奇怪的是,http://localhost 运行良好。下面接受的答案解决了我的问题,尽管我不得不使用命令行修复。只需选中 about:flags 中的框 not 为我解决了问题。 (已经检查过了。取消检查、重新启动、重新检查、重新启动也没有没有工作。)
投票关闭,因为这不再是可重现的,而且人们仍然出于某种原因来到这里解决他们与较新版本的 Windows 10 相关的问题。
【参考方案1】:
所以问题是 Spartan Edge 无法访问环回地址,这是大多数 Windows 应用商店应用程序都被阻止访问的。
如果您使用的是 Windows 10 RTM 或 build 10166,这可以通过导航到 about:flags
并选中“允许本地主机环回”来完成:
图片由Ryan Joy提供并使用with consent。
如果您使用的是以前版本的 Windows 10,则可以使用 CheckNetIsolation
工具将其添加到 LoopbackExempt 列表中。在提升的命令提示符下使用它:
CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
Microsoft.MicrosoftEdge_8wekyb3d8bbwe
是 Edge 应用的标识符。它可以通过在 PowerShell 中使用 Get-AppxPackage
并筛选 Spartan / Edge 的结果并使用 PackageFamilyName
来确定。
从 Build 10158 开始,PackageFamilyName 已从 Microsoft.Windows.Spartan_cw5n1h2txyewy
更改为 Microsoft.MicrosoftEdge_8wekyb3d8bbwe
。
【讨论】:
我在 Microsoft Edge 团队工作。这是我们目前正在调查的已知问题。 当我进入开发者设置的时候,“允许本地主机环回”已经被勾选了,但它仍然不起作用。 我取消了允许环回选项,重新启动edge,然后检查它,再次重新启动edge,它工作了。 @Sampson,快到 2018 年了,还是不行。 @Sampson,现在是 2019 年,但它仍然不起作用 - 多么进步啊。【参考方案2】:对于最新版本 (10158),以下命令为我完成:
CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe
诀窍是使用Get-AppxPackage
PowerShell 命令找出Edge 应用的家族名称vcsjones mentioned。
【讨论】:
我必须这样做CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
- 请注意姓氏周围的引号【参考方案3】:
出于安全原因,Microsoft Edge 默认在网络隔离下运行。如果您有 10158 或更新版本,要启用环回并调试您的本地主机服务器,请从提升的 shell 运行以下命令:
CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe
或
checknetisolation loopbackexempt -a -p=S-1-15-2-3624051433-2125758914-1423191267-1740899205-1073925389-3782572162-737981194
如果您有旧版本,也可以使用这个
CheckNetIsolation LoopbackExempt -a -n=Microsoft.Windows.Spartan_cw5n1h2txyewy
在未来的更新中,您将能够使用 about:flags 启用 localhost 环回支持。
【讨论】:
适用于不熟悉命令的任何人。打开命令提示符,例如 cmd 或 PowerShell 或任何适用于 Windows 的命令行程序,并通过右键单击以管理员身份打开它。输入上面答案中的命令,然后按 Enter。关闭所有 MS Edge 窗口并重新打开它。就是这样。 以管理员身份尝试了两个 com。还检查了开发标志。不工作。弹出“你需要一个应用程序..”。有什么想法吗? 等等,我可以访问整个互联网,但不能访问本地主机,“出于安全原因”?似乎没有任何意义......我是一名开发人员。访问 localhost 有点……你知道……重要。由于它不起作用,我只是不在 Edge 上进行测试。我想知道这将如何适用于浏览器 Edge。我的猜测是无法对其进行测试意味着它不会得到开发者的喜爱。我知道我不会再经历另一个“只需安装虚拟机来测试您的网站”的 IE 恶作剧! 在 Win10 pro build 18363 上遇到这个问题。所以它仍然是一件事。检查了开发标志。用第一个命令解决了。【参考方案4】:从 Windows 10 Build 10166+(available today 通过 Windows Insider)开始,在 Microsoft Edge 中默认可以访问 localhost,无需运行之前答案中列出的 CheckNetIsolation 命令。
如果您希望获得更安全的配置,可以通过“about:flags”禁用此访问。
【讨论】:
我可以在 build 10240 上使用 'localhost' 和官方 ip 地址,但不幸的是,计算机名无法使用。 它也无法访问 localhost 的子域 - 我将每个 Web 项目配置为project1.localhost:8080
、project2.localhost:8080
等,因为我可以使用 root 相对 URL - 但是 Edge 无法访问它们
实际上,当我访问 localhost 时,它可以工作一次。然后,当我尝试重新加载页面时,它再次出现“您需要一个应用程序”消息。所以用 Edge 测试真的很不方便!【参考方案5】:
添加子域到 C:\Windows\System32\drivers\etc\hosts (Windows 10)
【讨论】:
127.0.0.1 subdomain.localhost 我已经这样添加了 - 没有成功。【参考方案6】:导航到 C:\Windows\System32\drivers\etc 保存主机文件副本以进行备份 以管理员身份打开hosts文件 删除或注释掉任何带有 127.x.x.x 或 localhost...
重启电脑。
【讨论】:
【参考方案7】:CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe
命令和手动启用 Edge 上的“允许本地主机环回”都对我不起作用。
以下是有效的:
编辑 C:\Windows\System32\drivers\etc\hosts
文件并添加自定义映射
主机名改为 127.0.0.1,例如 127.0.0.1 local
。
打开 Internet 选项 并将http://local添加到本地内网站点。
【讨论】:
【参考方案8】:请按以下步骤操作:
1.
2.
复制此代码
CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe
3.
**
任务完成!
【讨论】:
以上是关于无法在 Windows 10 预览版的 Microsoft Edge (Project Spartan) 中打开 localhost的主要内容,如果未能解决你的问题,请参考以下文章
Mac版的vmware Fusion 8导入windows版vmware workstation创建