使用ARR负载平衡Lync 2013内部Web服务时,身份validation失败

我在Windows Server 2012 R2上使用Application Request Routing 3.0来负载平衡Lync 2013前端池上的内部Web服务; 我没有使用它来反向代理外部Web服务(有一个单独的反向代理),我只使用它作为负载平衡器,因为这个客户没有任何其他的负载平衡解决scheme可用。

我configuration了DNS将所有Lync内部Web服务URL指向ARR服务器,我已经定义了服务器场,其中包括池中的两台Lync前端服务器,并且我configuration了ARR以路由所有HTTP和HTTPS请求到这个农场,不pipeurl或主机名称如何; ARR服务器上的IIS中的默认Web站点仅configuration为匿名身份validation。

请求路由正确,但是对于所有经过身份validation的Lync Web服务(很多),身份validation失败惨不忍睹。

我确定问题在于Kerberos身份validation,而Google的一个快速search发现很多人在通过带有Kerberos身份validation的ARR发布身份validation的网站/服务时遇到身份validation问题; 我已经尝试在Lync服务器上手动禁用IIS中的“协商”身份validation方法,只保留“NTLM”,并使用此设置一切工作正常; 这确实表明问题实际上是由Kerberos身份validation引起的。 但是,完全不支持Lync服务器上IISconfiguration的修补程序,并且在发生configuration更新或安装Lync更新时可能会重置任何手动更改,因此我不能仅以这种方式手动configurationIIS。

我正在寻找一种(支持!)方式,当请求通过ARR服务器路由时,对内部Lync Web服务进行身份validation。

可以这样做吗? 怎么样?

经过多番努力,我们发现无法通过ARR进行Kerberosauthentication。 作为一个解决方法,我们只是从域中删除ARR服务器:这迫使它完全跳过Kerberosauthentication,并且所有事情立即开始工作。

我正在接受这个答案,因为它解决了问题,让我们使用ARR来平衡Lync的内部Web服务,但是如果/当有人想出一个实际上可以使Kerberos身份validation工作的答案时,我会很高兴接受它。

Kerberos要求为运行lync的服务帐户设置SPN,以便为来自ARR服务器的请求URL设置。 您需要使用以下命令为服务器名称和内部FQDN设置SPN:

setspn -S http/<servername> domain.com\<Svc_Acct> setspn -S http/<servername>.domain.com domain.com\<Svc_Acct> 

SPN的一个很好的总结可以在这里find。

另外,您还需要修改ARR服务器的活动目录属性,以使其可信。 这是从AD用户和计算机中的ARR服务器对象的属性设置的。 在委派选项卡上,选中“信任此计算机委派任何服务(仅限Kerberos)”单选button。

代表团的讨论可以在这里find。