Exchange Server CAS 错误 401(无法向第二个 CAS 进行身份验证)

Exchange Server CAS Error 401 (Failed to authenticate to the second CAS)

我在使用我们当前的交换基础设施时遇到了上述问题。

我们有 2 个面向 Internet 的交换站点和 1 个不面向 Internet 的站点。

所有服务器都安装了 CAS 和邮箱角色,并且 运行ning Exchange Server 2007 RU13。非面向 Internet 的服务器上的用户以前能够毫无问题地使用 OWA,因为那里的请求将通过任一面向 Internet 的服务器进行代理。但是,在更新我们的证书以使它们与只能使用 FQDN 的新规则保持同步后,我们一直遇到此问题。

两个面向 Internet 的站点都在内部和外部使用 FQDN 名称。

我们的主机名,例如:

Public Site 1: Ext: mail.sitea.com and Int: ex2007-sitea.local
Public Site 2: Ext: mail.siteb.com and Int: ex2007-siteb.local
Non-Public Site 3: Ext: $null and Int: ex2007-sitec.local

新证书更新如下:

Public Site 1: Ext: mail.sitea.com and Int: mail.sitea.com
Public Site 2: Ext: mail.siteb.com and Int: mail.siteb.com
Non-Public Site 3: Ext: $null and Int mail.sitec.com

我们还为每个新的内部主机名创建了一个带有适当内部地址记录的拆分 DNS。

经过进一步调查,我发现 CAS 代理问题归结为 public CAS 站点和内部唯一的 CAS 站点之间的 kerberos 身份验证,我已尝试通过添加适当的 SPN 来解决此问题非public 站点的记录。

这解决了问题,但只持续了 15 分钟,因为创建的 SPN 记录由于某种未知原因消失了。我启用了 AD 审计日志记录,并且可以看到当我创建记录时它被记录在事件日志中但是我看不到任何删除 function/log 记录发生和任何 DC。

下面的 SPN 命令修复了 CAS:

setspn -A HOST/mail.sitec.com ex2007-sitec

然而 15 分钟后,它被删除了,CAS 不再进行身份验证。

我有 运行 以下 SPN 命令:

setspn -A exchangeMDB/mail.sitec.com ex2007-sitec
setspn -A exchangeRFR/mail.sitec.com ex2007-sitec
setspn -A exchangeAB/mail.sitec.com ex2007-sitec

这也修复了 CAS 身份验证问题,但是 exchangeAB 记录被删除(而其他 2 条保留)并且案例代理再次被破坏。

注意:所有活动同步功能都适用于移动设备到非面向互联网的 CAS。我们只有 OWA 有问题。

如能提供任何帮助,我们将不胜感激,我们即将将系统升级到 Ex2013,但我想先弄清楚这个问题 - 另外,我不确定设置主机名的最佳方法由于这些问题,我们在本地域上的新交换服务器。我想避免将域重命名为 FQDN 而不是当前的 .local 域名,但如果我无法解决此问题,那么我看不到其他选择...

谢谢

好的,所以我想我已经自己解决了这个问题,为了让遇到同样问题的任何人受益,我的修复是:

setspn -A HTTP/mail.sitec.com ex2007-sitec

这允许所有 site-site 代理请求通过 Kerberos 成功验证。