Microsoft应用程序请求路由与Windows身份validation

我遇到了一个问题,试图让Windows身份validation在使用Microsoft应用程序请求路由的环境中工作,并希望有人能够提供帮助。

我遇到的问题是,只有一些请求进行身份validation,而其他人失败401错误。 我已经在http://blogs.msdn.com/b/webtopics/archive/2009/01/19/service-principal-name-spn-checklist-for上查到了Web Farm中运行IIS 7.0特例。 -kerberos-authentication-with-iis-7-0.aspx无济于事。

我目前的服务器设置如下所示:

ARR

  • 在Windows 2008 R2上使用IIS 7.5与IIS共享configuration的两台服务器
  • 为默认网站启用匿名身份validation

Web Farm

  • 在Windows 2008 R2上运行IIS 7.5的两台服务器
  • 三个网站使用端口绑定设置来区分虚拟主机。 正在使用的端口是8000,8001和8002
  • Windows身份validation的应用程序池都使用通用的域帐户
  • SPN添加到http/<virthalhost-name>:<port-number>http/<virtualhost-name>.<fully-qualified-domain>:<port-number>域帐户中http/<virtualhost-name>.<fully-qualified-domain>:<port-number>

身份validation正在工作/失败时,IIS日志显示以下内容。 如果我理解正确,所有请求都应显示DOMAIN \ User_Name:

 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/stylesheets/techweb.landing.css - 8002 DOMAIN\User_Name ARR-HOST-1-IP-ADDRESS 200 0 0 62 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-background-right.gif - 8002 - ARR-HOST-1-IP-ADDRESS 401 2 5 0 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-background-left.gif - 8002 DOMAIN\User_Name ARR-HOST-IP-ADDRESS 200 0 0 31 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-icon.png - 8002 - ARR-HOST-1-IP-ADDRESS 401 2 5 0 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-icon.png - 8002 - ARR-HOST-1-IP-ADDRESS 401 1 2148074248 0 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/application-icon.png - 8002 - ARR-HOST-1-IP-ADDRESS 401 1 2148074248 0 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/user-background-right.gif - 8002 - ARR-HOST-1-IP-ADDRESS 401 1 3221225581 15 2012-11-19 15:03:17 CLUSTER-IP-ADDRESS GET /home/images/building.gif - 8002 DOMAIN\User_Name ARR-HOST-2-IP-ADDRESS 200 0 0 218 

有谁知道什么可能会导致这个问题,我怎么能解决它?

编辑

每当执行networking捕获时,我都会看到Negotiate头文件被发送到服务器。

第一个要求/home

请求

没有

响应

 Proxy-Support: Session-Based-Authentication WWW-Authenticate: NTLM WWW-Authenticate: Negotiate 

第二个要求/home

请求

 Authorization: Negotiate YIGeBgYrBgEFBQKggZMwgZCgGjAYBgorBgEEAY.... 

响应

 Proxy-Support: Session-Based-Authentication WWW-Authenticate: Negotiate oRUwE6ADCgEDoQwGCisGAQ.... 

第三(和最后)请求/home

请求

 Authorization: Negotiate oTMwMaADCgEBoioEKE5UTE1TU1AAAQAAAJe.... 

响应

 Proxy-Support: Session-Based-Authentication WWW-Authenticate: NTLM WWW-Authenticate: Negotiate 

第三个请求后,我从IIS获得401页面。

获取失败请求的networking数据包捕获,并检查Kerberos身份validation令牌的Http请求头。 如果你期待kerberos令牌,它不存在,这个问题可能不是你的服务器。

我假设你正在期待kerberos,因为SPN清单。

有关更多信息,请参阅以下内容:

https://serverfault.com/a/440050/20701