无法在 IE 或 Edge 中打开本地 IIS 站点

Posted

技术标签:

【中文标题】无法在 IE 或 Edge 中打开本地 IIS 站点【英文标题】:Can't open local IIS site in IE or Edge 【发布时间】:2015-12-10 09:13:44 【问题描述】:

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

该站点在包括 ie 11 在内的所有其他浏览器中运行良好,所以我想知道是否有任何设置可以让本地站点在边缘运行。

我一直在搜索,只能找到这个related post,但接受的答案对我没有任何影响,因为我已经在我的边缘检查了该选项。我也尝试过重启和刷新我的 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

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

Why does Microsoft Edge open some local websites, but not others, where the domain name is routed to 127.0.0.1 in hosts file

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,瞧,一切正常!

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

更新 3

我最近买了一台新的工作机器,又遇到了这个问题,尝试了所有方法,但仍然无法加载 - 结果是工作代理导致了这个问题,所以如果你尝试下面的所有方法并有一个代理,检查代理没有阻止它

【问题讨论】:

我不认为 IIS 或应用程序池与它有任何关系。我在使用 Apache 2 时遇到了同样的问题。***.com/questions/32384571/… 【参考方案1】:

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

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

【讨论】:

是的!这是 Windows 10 的正确答案。我认为它仅在 Edge 中被阻止,因为所有其他浏览器都可以正常工作。我还发现“about:flags”有这个复选框,所以你可以通过 UI 打开它。 非常好,工作就像一个魅力!您为我节省了很多时间进行故障排除。 官方文档见"Frequently Asked Questions - Microsoft Edge Development" -- "How can I debug localhost?"。 @Brain2000,即使about:flags设置了Allow localhost loopback选项,上面的命令可能还是要运行,也就是说about:flags下的选项不等于@987654325 @ 命令。 这在我的情况下仍然不起作用。我在 about:flags 中设置了选项,并从提升的命令提示符添加了环回豁免。使用 Windows 10,我已经验证了 Windows 10、Microsoft Edge 和 Edgehtml 的最低构建和版本。 Edge 在启动本地站点时提示我进行身份验证,但在 3 次尝试后我收到 401 错误。这些步骤可能适用于 Windows 10 专业版,但我想知道是否有人对 Windows 10 企业版感到满意?【参考方案2】:

这对我有用;

    打开 Internet 选项对话框

    转到“安全”标签

    选择“本地 Intranet”区域

    点击“站点”按钮

    选中“自动检测 Intranet 网络”框

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

【讨论】:

这对我有用,但您需要在第 3 步之后添加“单击站点按钮”步骤 Windows 10 自动阻止本地站点的边缘。这些都不起作用。 看不到本地网站,在我执行这些步骤时已经检查过了【参考方案3】:

我想通了,并在我的问题上发布了答案:Why does Microsoft Edge open some local websites, but not others, where the domain name is routed to 127.0.0.1 in hosts file

(假设您的问题不仅仅是 about:flags 中的环回复选框)

解决方法是从您的受信任站点列表中删除域名,用于受信任区域。而已。我花了两个星期才弄明白。

    打开 Internet 选项 对话框(只需询问 Cortana 或使用 windowskey+s) 转到安全标签 点击可信站点区域 点击站点按钮 从受信任站点列表中删除有问题的域名 点击应用然后关闭对话框 打开 Edge(如果它已经在运行,则重新启动)并尝试您的网站

【讨论】:

嗨,埃文,感谢您的回答。很遗憾,我的受信任站点列表中没有任何内容 我也很兴奋。我很失望它对你不起作用。您是否尝试过这里的建议:***.com/questions/30334289/… 是的,尝试了所有这些建议,没有任何乐趣。我把它归结为我的工作计算机设置 - 他们有各种各样的代理和 isa 规则,所以我认为他们正在搞乱边缘。 tbh,我发现浏览器不能做它的主要任务而不必弄乱设置并运行大量命令是很愚蠢的 谢谢@Evan。我的本地测试站点有一个单字域 (http://mysite)。我调整了各种设置(恐怕我不记得它们现在是什么了,但是某处有一个复选框,上面写着“允许一个单词的域名”)。但一切都没有成功。最后,当我从受信任的站点列表中删除它时,Edge 可以访问我的站点。这是非常违反直觉的。 哇,这真的对我有用。但我也做了“检查'自动检测 Intranet 网络'框”的建议。所以也许这是一个组合。【参考方案4】:

请按照以下步骤操作:-

第 1 步:以管理员身份运行命令提示符

第 2 步:编写命令“CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"”并按回车键。它返回正常。

第 3 步:重新启动 Microsoft Edge 或 Internet Explorer 以查看您的网页

希望对你有帮助。

谢谢!!!

【讨论】:

【参考方案5】:

Internet Options / Local intranet sites

这对我有用:

【讨论】:

查看了您包含的超链接中的图片。也许更多细节会有所帮助。如何导航到这个特定的对话框?【参考方案6】:

在我的带有 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 :)

In your hosts file,请使用fully qualified domain name (FQDN) 而不是昵称。换句话说,包括一个点。然后它将在 Edge 中工作。

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

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

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

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

我的 Edge 版本是 20.10240.16384.0

【讨论】:

嗨,肖恩,感谢您的回答。不幸的是,我使用的名称确实包含一个点:test.local 和 dev.local - 两者都无法在边缘工作 这两个都在我的机器上工作。我能做的是进一步检查我的设置并发布更多详细信息,直到我们理解为止。 我的设置一定有问题,因为我找不到任何关于此的信息——唯一的其他帖子也建议使用 FQDN——尽管我上面编辑中的第二个链接建议你应该只使用即11。但我拒绝相信我无法使用 edge 进行测试(尽管不会超过微软)! 嗯,我运行的环境和你完全一样,除了我的应用程序池可能在我的工作帐户下运行(根据我上面的编辑) 我正在使用 FQDN,但我遇到了这个问题。另外,我使用的是 Apache,所以我认为 IIS 或应用程序池与该问题无关。【参考方案7】:

在您尝试了其他用户的所有说明或设置但不起作用后,请尝试以下操作:

打开 Internet 选项。 (如果您使用 Win10,请在“搜索 Windows/Cortana”中输入“in”) 1。选择“安全”选项卡。 2。点击“本地Intranet” 3。单击“站点”按钮。 4。取消选中“包括所有本地(Intranet)站点......” 5。取消选中“包括所有绕过...的网站” - 点击“高级”按钮,删除所有在 %windir%\System32\drivers\etc\hosts 中定义的站点地址 6。 & 7. 好的 8。重新启动 Microsoft Edge 或 Internet Explorer。

【讨论】:

这个答案对我来说真的很有趣。我希望我仍然有问题,所以我可以试试这个。我想知道我上面的解决方案是否模仿了您解决方案的第 5 步,这也许可以解释为什么它对我有用。 @NaNonthasen 你知道为什么这可以解决问题吗?还是只是反复试验导致您这样做?我认为这看起来是一个很好的解决方案。【参考方案8】:

除了将主机名添加到主机文件之外,请转到 Internet 选项并将 URL 添加到本地 Intranet 下的受信任站点。这对我有用。

【讨论】:

【参考方案9】:

当我尝试使用 IISExpress 在本地运行我的应用程序时遇到此错误。我已经更改了下面的配置,它解决了这个问题。

转到您可能会在 Documents-->IISExpress-->config--> applicationhost.config 中找到的 IISExpress 配置文件

将 NTLM 提供程序的值移到像这样协商的上方

<windowsAuthentication enabled="false">
  <providers>
    <add value="NTLM" />
    <add value="Negotiate" />
  </providers>
</windowsAuthentication>

它解决了我的问题。而且我能够在 microsoft edge 中浏览我的应用程序而没有任何错误。

【讨论】:

【参考方案10】:

专门针对 IE,在 this page...

我找到了一个与其他人相似的答案,但命令略有不同:

CheckNetIsolation LoopbackExempt -a -n=windows_ie_ac_001

...作为管理员,就像其他解决方案一样。

我不知道我是否找到了不同的答案,因为我正在专门搜索 Internet Explorer,但它仍然有效。

【讨论】:

【参考方案11】:

我尝试了所有提到的选项,但 IIS Express 没有成功!

但是

我只是做了一件小事(我不知道为什么)。这些东西开始为我工作 我删除了整个 .vs 解决方案文件夹。其中有用于解决方案的 applicationConfig,可与 IIS Express 一起使用 ....

它成功了!我不确定它是上面提到的东西和这个文件的组合,还是只是这个文件......

【讨论】:

以上是关于无法在 IE 或 Edge 中打开本地 IIS 站点的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Windows 10 预览版的 Microsoft Edge (Project Spartan) 中打开 localhost

为啥我的 SVG 在 IE1 或 /Edge 中无法正确显示?

windows 10 insider preview系统中edge浏览器无法打开网页

无法使用 Edge 访问我的本地虚拟盒托管站点(适用于 Chrome/Firefox/IE11)

CORS + Windows 身份验证无法与 Edge 或 IE 配合使用

IE浏览器无法打开本地html文件