在我们的大型企业环境中,我们设置了 4 个 ISA 2006 服务器。用户 (WinXP IE8) 配置有自动代理配置脚本。最近,PAC 被修改为返回 FQDN 而不是 ISA 服务器的 IP 地址。这样做是为了强制使用 Kerberos 身份验证而不是 NTLM。
此更改已导致某些用户出现间歇性问题。通过 SSL 访问站点时,他们会收到多个来自代理服务器的身份验证提示。并非所有用户都受到影响。不同的站点受到影响。有一次,其中一个代理服务器开始喷出“502 代理错误。不支持缓冲区空间。” 它被重新启动并重新开始营业。
我们能想到的最好结果是它与较大的 Kerberos 令牌大小有关(我们是一个拥有成百上千个 AD 安全组的大型操作)。
一些用户为 Kerberos 配置了 MaxPacketSize 和 MaxTokenSize。有些人没有。我看到的两个问题用户都有这些设置。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters]
"MaxPacketSize"=dword:00000001
"MaxTokenSize"=dword:0000ffff
回滚 PAC 以使用 IP 地址(和 NTLM)可以解决用户的问题。但代理管理员仍然需要 Kerberos,原因如下:为什么在 IIS 中使用 Kerberos 而不是 NTLM?.
将这些注册表设置推送给所有用户会解决问题,还是这些设置是问题的根源?
ISA 服务器上是否有需要调整的设置以匹配桌面上的令牌大小设置?
谢谢。
可能是令牌大小问题。无论如何,所有计算机都应该具有这些值的那些设置。
另一种可能性是是否有任何指定最大 http 标头长度的策略过滤器。
由于 kerberos 将组成员身份存储在 pac 中,因此在使用已编码并插入到每个 http 请求标头中的集成身份验证时。任何涉及与 kerberos 集成身份验证的 http 都需要非常慷慨,最大请求标头大小。
还有针对具有该描述的症状的修补程序。
当用户尝试访问某些网站时,ISA Server 2006 Web 代理客户端收到错误代码 502
http://support.microsoft.com/kb/935693
http://www.isaserver.org/tutorials/configuring-isa-server-2006-http-filter.html
http://technet.microsoft.com/en-us/library/bb838827.aspx