无法在边缘打开本地iis站点

Pet*_*ete 38 iis hosts-file windows-10 microsoft-edge

我在本地设置了一个站点来进行开发,我已将其添加到iis并使用url编辑我的主机文件(见下文).但是,当我浏览到网址时,我只收到"嗯,我们无法访问此页面"消息.

该网站适用于所有其他浏览器,包括11,所以我想知道是否有任何设置让本地网站在边缘工作.

我一直在搜索,只能找到这个相关的帖子,但是接受的答案对我没有任何影响,因为我的选项已经在我的边缘检查.我也尝试重新启动和刷新我的dns但两个都没有用.

我正在使用Windows 10和iis版本10 build 10240

主机文件

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost
127.0.0.1       localhost loopback     # tried with and without this as thought it may have something to do with the loopback option in edge
127.0.0.1       test.local
127.0.0.1       dev.local
Run Code Online (Sandbox Code Playgroud)

我设法找到的其他链接 - 虽然没有解决方案,但第二个似乎暗示我们只使用ie11:

为什么Microsoft Edge打开一些本地网站,而不是其他人,其中域名在hosts文件中路由到127.0.0.1

https://social.technet.microsoft.com/Forums/en-US/246298d8-52c1-4440-8d7f-05329d50e653/edge-browser-hosts-file?forum=win10itprogeneral

更新

这可能与网站应用程序池在我的工作帐户下而不是IIS或网络服务下运行的事实有关(我无法在后者2下运行,因为他们没有正确的权限来浏览我计算机上的某些文件夹)

更新2

对于那些尝试过以下所有事情的人来说.我发现它可能与我的Windows 10安装有关 - 我在机器上的第一次安装是Windows 8.然后我把它升级到8.1,当它出来时最多10.

遇到其他一些问题后,我咬紧牙关,做了一个全新安装的Windows 10,瞧,一切都很完美!

可能有点激烈,但如果一切都失败了......

小智 83

网络阻止环回作为Windows 10中的安全措施,您需要通过以提升的权限为IE Edge运行此命令来例外

CheckNetIsolation LoopbackExempt -a -n ="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"

  • 是!这是Windows 10的正确答案.我认为它仅在Edge中被阻止,因为所有其他浏览器都有效.我还发现"about:flags"有这个复选框,所以你可以通过UI打开它. (3认同)
  • @Brain2000,即使`about:flags`设置了`Allow localhost loopback`选项,上面的命令可能仍然需要运行,也就是说,`about:flags`下的选项不等同于`CheckNetIsolation`命令. (3认同)
  • 有关此问题的官方文档,请参阅["常见问题 - Microsoft Edge开发" - "如何调试localhost?"](https://developer.microsoft.com/en-us/microsoft-edge/platform/faq /#如何灿I-调试本地主机). (2认同)

小智 17

这对我有用;

  1. 打开"Internet选项"对话框

  2. 转到"安全"标签

  3. 选择"本地Intranet"区域

  4. 点击"网站"按钮

  5. 选中"自动检测Intranet网络"框

Edge现在可以找到我的本地网站(只有一个单词的名字!)

  • Windows 10会自动阻止本地站点的边缘.这些都不起作用. (3认同)

Eva*_*ruz 8

我想出来并在我的问题上发布了答案:为什么Microsoft Edge打开一些本地网站,而不是其他人,其中域名被路由到hosts文件中的127.0.0.1

(假设你的问题不仅仅是about:flags中的loopback复选框)

修复方法是从受信任区域的受信任站点列表中删除域名.而已.我用了两个星期来搞清楚这一点.

  1. 打开" Internet选项"对话框(只需询问Cortana或使用windowskey + s)
  2. 转到" 安全"选项卡
  3. 单击" 可信站点"区域
  4. 单击" 站点"按钮
  5. 从受信任的站点列表中删除有问题的域名
  6. 单击" 应用",然后关闭对话框
  7. 打开边缘(如果已经运行,则重新启动它)并尝试使用您的站点


Sha*_*tin 1

在我的装有 Edge 的 Windows 10 计算机上,以下是我的结果:

127.0.0.1       local             # Hmm, we can't reach this page
127.0.0.1       my.local          # Works :)
127.0.0.1       my.local.ca       # Works :)
127.0.0.1       test.local        # Works :)
127.0.0.1       dev.local         # Works :)
Run Code Online (Sandbox Code Playgroud)

在您的主机文件中,使用完全限定域名 (FQDN)而不是昵称。换句话说,包括一个点。然后它就可以在 Edge 中运行了。

my.local.ca 在 Edge 中呈现。

我的环境也是Windows 10,10.0.10240.16384安装了IIS。

IIS > 帮助 > 关于 IIS

这些是我在 Windows 功能 > Internet 信息服务 > 万维网服务中的设置

万维网服务设置

我正在使用的应用程序池的身份设置为我登录计算机所用的帐户。不过,当身份为 ApplicationPoolIdentity 时,它也可以工作。换句话说,下图中的 EdgeHostsFile 和 DefaultAppPool 都可以在我的计算机上运行。

应用程序池

正如您已经发布的那样,about:flags在允许本地主机环回的情况下,我看起来像这样。

关于:旗帜

我的Edge版本是20.10240.16384.0

边缘设置 > 版本

  • 嗨肖恩,感谢您的回答。不幸的是,我使用的名称确实包含一个点:test.local 和 dev.local - 两者都无法在边缘工作 (2认同)