为什么我们的ADFS代理服务器Kerberos安全失败?

我们有一个WCF服务,它使用主动联盟通过AD FS 2.0validation呼叫者,并且在内部工作正常。 现在我们要把它暴露给外部世界,所以我们的服务器团队在DMZ中为这个服务和一个AD FS代理服务器build立一个服务器。

当调用WCF服务时,我们得到以下exception:

System.ServiceModel.Security.SecurityNegotiationException:通过“ https://adfs-dev.example.com/adfs/services/trust/2005/kerberosmixed ”获取目标的SOAP安全性协议https://adfs-dev.example.com/ adfs / services / trust / 2005 / kerberosmixed '失败。 查看更多细节的内部例外

—> System.IdentityModel.Tokens.SecurityTokenValidationException:提供的NetworkCredentials无法创buildKerberos凭证,请参阅内部exception以了解详细信息。

—> System.IdentityModel.Tokens.SecurityTokenException:InitializeSecurityContent失败。 确保服务主体名称是正确的。

– > System.ComponentModel.Win32Exception:指定的目标未知或无法访问。

  • 内部AD FS服务器是configuration为服务器场而不是独立服务器的单个服务器,AD FS服务在服务帐户下运行。
  • 代理AD FS服务器是configuration为独立的单个服务器,AD FS服务作为networking服务运行。
  • DMZ中应用程序服务器上的主机文件条目将AD FS服务名称指向代理服务器的IP。
  • 防火墙允许端口443上的SSLstream量从代理到内部AD FS服务器。
  • HOST / adfs-dev.example.com SPN已注册为服务帐户。

我可能会错过什么?

https://adfs-dev.example.com/adfs/services/trust/2005/kerberosmixed ”不可用作代理上的端点。 请select一个可用的端点。