我遇到了我们的networking上的IIS 7应用程序的问题。 问题如下:
如果用户通过IP地址( http://172.16.10.32/site )浏览该站点,则该应用程序加载正常,没有错误,并且完美。
如果同一用户通过主机名( http://dms-live/site )浏览到该站点,则显示“Internet Explorer无法显示该网页”消息。 挖掘更深的结果在实际的错误代码401.2 – 未经授权。
一些更多的信息:
这是一个没有任何外部访问的内部网站
Internet Explorer由组策略设置将站点放置在Intranet区域中
该应用程序允许“匿名身份validation”(使用IUSR),“ASP.NET模拟”(设置为authentication用户),“基本身份validation”(不指定默认域或领域)和“Windows身份validation”(启用内核模式身份validation)
用户可以ping dms-live,返回正确的IP地址172.16.10.32
用户可以浏览到http://172.16.10.32和http://dms-live而不会出现问题,并可以看到默认的IIS 7启animation面
主机名“dms-live”是在DNS中指定的额外的Alogging,指向172.16.10.32
服务器的实际主机名是“accserver16”。 使用这个来代替“dms-live”给出了完全相同的结果(401.2错误)
使用FQDN而不是简短的主机名也给出相同的结果(401.2错误)
该网站已绑定到dms-live,accserver16和172.16.10.32,以及相关的FQDN
我们的networking在两个森林中有两个域,即森林A中的域A和森林B中的域B.所有用户和工作站都在域A中,IIS服务器在域B中。域A和域之间configuration了双向信任B.
这两个域都有自己的DNS服务器
这个问题最近才出现,在一个非常具体的DNS更改之后。 域B的DNS区域最初由域B DNS服务器托pipe,并设置了条件转发器条目来转发来自域A DNS服务器的请求。 为了提高永续性,已更改此域,以便域A DNS服务器具有为域B区域设置的辅助正向和反向区域。
辅助区域加载正常,正确地复制更改并返回正确的DNSlogging以ping和nslookup请求。
还有一点奇怪的信息 – networking上的一些电脑能够毫无问题地加载http://dms-live/site 。 个人电脑的工作模式似乎没有多大的作用。
这不是由用户决定的(两台不同PC上的同一用户不一定会得到相同的结果),浏览器(这已经用IE8和IE9testing,结果不一致)或操作系统(问题似乎与Windows XP或Windows 7正在使用)。
到目前为止,
在无法加载页面的PC上,Fiddler显示发出了一个返回401错误的请求。 在成功加载页面的PC上,Fiddler显示了相同的401错误,然后是302,接着是200。
如果删除次要区域并且条件转发器条目恢复,则问题将消失。
看起来好像出于某种原因,当使用辅助区域而不是有条件的转发器来parsing不同森林中的主机名时,对于某些电脑(但不是全部),身份validation失败 – 但为什么这种情况我不知道。 谁能帮忙?
经过大量的挖掘,我终于find了问题的原因。
我们注意到其他一些相关的问题后,我们对其进行了追踪。 当尝试浏览到accserver16上的共享时,用户将会看到凭证框,并显示以下错误消息:
系统检测到可能的危及安全的企图。 请确保您可以联系通过身份validation的服务器。
填写适当的凭据工作,但这不应该是必要的。
另外,当试图从林Bvalidation域控制器上的信任时,显示以下错误消息:
域domainb.local的Active Directory域控制器\ accserver04.domainb.local上的安全通道(SC)重置为域domaina.local失败,并显示错误消息:当前没有可用于login请求的login服务器。
这指出无法find其他林中的域控制器作为问题的原因。
在DNS中,在每个域的正向查找区域下,是一个名为“_msdcs”的委托区域。 这应该包含指向该域名服务器的静态NSlogging。
在域A和域B上,这个configuration不正确。 在域A上列出的唯一的名称服务器已经被降级了,在域B上,它指向了一个不再存在于networking上的服务器。
显然,这不会导致内部DNS查询问题,并且只要使用条件转发,就不会影响林之间的查询。 然而,一旦有条件的转发被二级区域取代,森林之间的信任就会分崩离析。
修复名称服务器logging在每个域的_msdcs委派区指向正确的名称服务器解决了问题。
我在这里与同一个问题的人一起工作: http : //forums.iis.net/p/1175219/2023646.aspx 。 尽pipe我们还没有完全解决,我们仍被动地继续研究。 在他们的情况下,使用Alogging而不是CNAME解决了它(临时修复),但是由于您已经在使用Alogging,所以对您不起作用。
对于你来说,如果你为域名创build一个主机logging呢? 这将使AD大部分脱离等式。 另外,尝试使用IE Intranet区域,并尝试访问另一个浏览器。
这个问题可能与SPN有关,尽pipe你确实提到过你设置了logging。
而且由于您提到它可以从一些计算机上运行,而不是其他计算机,那么还要查看计算机的SPN设置以及信任设置。
我认为失败的页面是密码保护? 如果不是,那么您可以将身份validation/匿名设置为始终以应用程序池身份运行。 然后IIS_IUSRS用户将不会被使用,你只需要testing你正在使用的应用程序池身份。