登录OWA时报503后端认证未授权及Kerberos事件报错如何解决
根因说明
该报错组合的核心触发原因是 HTTP/exchangeserver.ad.root 服务主体名称(SPN)在AD域内被多个账户/计算机对象重复注册,Kerberos向客户端签发的票据只能被其中一个对象解密,当请求发到Exchange服务器时,服务器无法解密票据就会返回认证失败,最终触发OWA 503错误,同时抛出Kerberos Event 4报错。
排查步骤
- 扫描域内重复SPN:使用域管理员权限在域控制器或加域的管理终端上执行命令
setspn -X,该命令会自动检索域内所有重复注册的SPN,检查输出中是否包含HTTP/exchangeserver.ad.root条目。 - 手动查询指定SPN的绑定对象:如果上一步没有直接返回结果,执行命令
setspn -q HTTP/exchangeserver.ad.root,正常情况下该SPN仅能绑定到报错中提到的Exchange服务器计算机对象exchangeserver$,如果返回多个绑定对象即可确认是SPN冲突问题。 - 排查冲突来源:检查域内是否存在其他IIS服务器、HTTP服务、负载均衡设备或者旧的Exchange服务器残留,被手动绑定了该SPN。
解决步骤
- 删除重复的SPN绑定:假设查询到该SPN额外绑定到了错误账户
wrong_account,执行命令setspn -D HTTP/exchangeserver.ad.root wrong_account,仅保留绑定到Exchange服务器计算机对象的SPN条目即可。 - 清除Kerberos缓存:在Exchange服务器上以管理员权限执行命令
klist purge -li 0x3e7清除本地计算机账户的Kerberos票据缓存,也可以直接重启Exchange服务器让配置生效。 - 验证修复效果:等待10-15分钟让AD域控同步SPN变更后,重新访问OWA验证是否还会返回503错误,同时检查系统事件日志中是否还会生成Kerberos Event 4报错。
注意:如果Exchange环境配置了负载均衡并使用Kerberos认证,需确认SPN是绑定到专门为客户端访问服务创建的域服务账户,而非单台Exchange服务器的计算机对象,这种场景下需要排查是否有单台Exchange服务器额外注册了该SPN导致冲突。
内容的提问来源于stack exchange,提问作者Brian Clink
相关产品推荐
相关产品推荐

