对 HTTP 代理的自动域身份验证可以使用 Negotiate 和 Kerberos。客户端需要的是代理服务的票据,而不只是一个记住的网站密码。

对于以 proxy.example.net 公布的代理,服务主体可以采用这种形式:

HTTP/[email protected]

客户端使用的主机名、注册的服务主体以及代理的 keytab 必须与部署相匹配。Squid 的 Kerberos 配置记录了 HTTP 服务主体以及辅助程序如何使用该密钥材料。

使用 IP 地址或其他别名可能会改变常规的服务名选择。在更改用户密码之前,先确定客户端实际使用了哪个代理名,以及哪种身份验证机制成功或失败。

Negotiate 是一种协商机制。Windows 可以在适用条件下选择 Kerberos 或回退到 NTLM;看到 Negotiate 一词并不能证明 Kerberos 交换成功。

将凭据的自动使用限制在为此代理设定的客户端和域策略之内。普通浏览器会话与以另一账户运行的服务可能获得不同的凭据和授权结果。

相关文章