接收时浏览器挂起 WWW-Authenticate:协商

Browser Hangs when receive WWW-Authenticate: Negotiate

当 Windows7 上的 IE 或 Chrome 收到带有 "WWW-Authenticate: Negotiate " header 的响应时,它会挂起几秒钟。

我假设它正在向 KDC 发出网络请求并且请求超时。虽然这可能是错误的假设。

服务器keytab是否决定了浏览器查询的是哪个KDC?

有什么调试方法吗?

谢谢!

要回答您的第一个问题,请避免假设查找 KDC 超时 - 只有网络捕获可以告诉您这一点。虽然它实际上可能正在这样做,但它也可能会故障转移到使用 NTLM,然后因为 Kerberos 在某处被破坏而成功。

要回答你的第二个问题,keytab 不能确定浏览器查询哪个 KDC。密钥表中没有任何东西可以做到这一点。我在这个答案的底部为您放置了一个示例密钥表的图像。现在,被查询的 KDC 由 DNS 控制。该过程只会被 C:\Windows\krb5.ini 中设置的值覆盖 - 如果该文件存在 - 默认情况下它不存在于 Windows 上。要回答您的最后一个问题,您可以使用 Wireshark 捕获对其进行调试,在 WireShark 搜索字段中过滤 'kerberos' 以查看 Kerberos 流量可能在做什么或不在做什么。那会告诉你所有你需要知道的。