约束委派 (Kerberos) 仅使用本地主机工作

Constrained delegation (Kerberos) only working using localhost

我们开发了一个在 IIS 6.2 上运行的 WebAPI 应用程序。 API 使用集成身份验证。因此,操作将在调用 API.

的用户的用户上下文中执行

除此之外,因为其中一些操作对平台中的另一台服务器执行远程操作。我们使用约束委派 (kerberos) 来管理 Kerberos 双跃点,并在远程服务器中作为用户调用 API.

进行验证

我们在 IIS 中进行了配置更改(关于启用 Windows 身份验证)并在 AD 中为服务器 运行 IIS 启用了 "Trust this computer for delegation to any service (Kerberos only)"。

当前状态是,如果我们使用本地主机访问 API,一切都按预期进行。但是,如果我们使用 FQDN 甚至 127.0.0.1 访问,当 API 调用在幕后执行远程操作时,它会因未经授权而失败 returns.

有谁知道我们可以解决此类配置问题吗?

谢谢

听起来你做的一切都是对的...除了没有或没有在 AD 中为引用 Web 服务 运行 的主体(computer/server 对象)正确设置 SPN目标服务器。例如服务器名称为server1,AD和DNS域名为acme.com。那么 AD 中服务器的 SPN 需要是 HTTP/server1.acme.com。参考:Setting up Kerberos Authentication for a Website in IIS