我的 Outlook(在 2007 和 2010 中测试)邮件中包含指向 IIS 托管的内部网站的链接。它们需要 Windows 身份验证才能访问。当有人打开其中一个链接时,Internet Explorer 会显示通用的“Internet Explorer 无法显示网页”错误。如果用户点击刷新,IE 会按预期显示 Windows 身份验证对话框。
这在 Windows 7(IE 9)和 Windows XP(IE 8)中都会发生。
以下是我目前了解到的一些信息:这些网站位于不同的域中,但仍在我们的专用网络上,并且需要 Windows 身份验证。由于这些网站位于不同的域中,因此 Internet Explorer 不会自动在本地 Intranet 区域中打开它们。如果我将这些网站的 URL 添加到本地 Intranet 区域,问题就会消失。
我还注意到,当 URL 位于 Intranet 区域时发送的请求与不位于 Intranet 区域时发送的请求之间存在显著差异:
当 URL 位于 Internet 区域时,初始请求包含以下内容:
接受:text/html,application/xhtml+xml,*/* 用户代理:Mozilla/5.0(兼容;MSIE 9.0;Windows NT 6.1;WOW64;Trident/5.0)
当 URL 位于本地 Intranet 区域时,初始请求包含以下内容:
接受: */* 用户代理:Mozilla/4.0(兼容;MSIE 7.0;Windows NT 6.1;WOW64;Trident/5.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0;.NET4.0C;InfoPath.3;.NET4.0E)
有谁知道是什么导致了这个问题?