我在 SharePoint 上使用 Kerberos 时遇到了问题。另请注意,我是一名开发人员,而不是网络人员,因此如果我使用了错误的术语,我深表歉意,但我希望我的意图是明确的。
我们有两个 Web 前端,别名为“SPPortal”,Web 前端本身是“WFE1”和“WFE2”。在我的开发中,我需要能够跨服务器执行双跳。
以下是我对服务器进行寻址的结果:
http://spportal — 失败 (NTLM)
http://wfe1-成功
http://wfe2-成功
http://sportal.fully.qualified.com — 失败 (NTLM)
http://wfe1.fully.qualified.com - 成功
http://wfe2.fully.qualified.com - 成功
(以上所有内容前面都有 http://,因为我是新用户,所以我只能在帖子中发布一次协议)
有人知道为什么别名不起作用吗?这是在 Win2k3 上运行的 SP 2007。不是域服务器,AD 在单独的机器上,据我所知,所有补丁都是最新的,并带有累积更新。
编辑:这是我们在 Fiddler 中看到的 Auth
在 Web 前端(http:/WFE1、http:/WFE2)本身上,这是我们期望所有请求的行为:
401
No Proxy-Authenticate Header is present.
WWW-Authenticate Header is present: Negotiate
WWW-Authenticate Header is present: NTLM
然后
302
No Proxy-Authenticate Header is present.
WWW-Authenticate Header (Negotiate) appears to be a Kerberos reply:
A1 81 A0 30 81 etc...
当连接到别名(http:/spportal)时,这不是我们期望或想要的行为:
401
No Proxy-Authenticate Header is present.
WWW-Authenticate Header is present: Negotiate
WWW-Authenticate Header is present: NTLM
然后
401
No Proxy-Authenticate Header is present.
WWW-Authenticate Header is present: Negotiate
4E 54 4C 4D 53 53 50 00 02 00 00 00 0C 00 0C 00 NTLMSSP.........
38 00 0 etc..
-[NTLM Type2: Challenge]------------------------------
Provider: NTLMSSP
Type: 2
OS Version: 5.2:3790
Flags: 0xa2898205
Unicode supported in security buffer.
Request server's authentication realm included in Type2 reply.
NTLM authentication.
Negotiate Always Sign.
Negotiate NTLM2 Key.
Target Information block provided for use in calculation of the NTLMv2 response.
Supports 56-bit encryption.
Supports 128-bit encryption.
Challenge: DE 02 etc...
然后
302
No Proxy-Authenticate Header is present.
No WWW-Authenticate Header is present.