因此,问题在于斯巴达 Edge没有访问环回地址的权限,这是大多数Windows商店应用程序被阻止访问的内容。
如果您正在使用Windows 10 RTM或版本10166,则可以通过导航到about:flags
并选中“允许本地主机环回”来完成:
如果您使用的是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 默认情况下以网络隔离方式运行。如果您有 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 回环支持。
对于最新的版本(10158),以下命令适用:
CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe
Get-AppxPackage
PowerShell命令,如vcsjones所提到的,找出Edge应用程序的家族名称。CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
- 请注意家族名称周围的引号。 - Laurenceproject1.localhost:8080
,project2.localhost:8080
等,因为我可以使用根相对URL - 但是Edge无法访问它们。 - Brendan对我来说,既不是使用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添加到本地Intranet站点中。
导航到C:\ Windows \ System32 \ drivers \ etc 保存hosts文件备份副本 以管理员身份打开hosts文件 删除或注释任何带有127.x.x.x或localhost的行...
重新启动电脑。
在Windows 10中,将子域名添加到C:\Windows\System32\drivers\etc\hosts文件中。
CheckNetIsolation LoopbackExempt -a -n=Microsoft.Windows.Spartan_cw5n1h2txyewy
会解决这个问题吗? - vcsjones