如果 Exchange Server OAuth 证书已过期,则无法登录到 Outlook 网页版 或 EAC

原始 KB 编号: 2617816

症状

尝试在 Exchange Server 中登录到 Outlook 网页版 或 EAC 时,Web 浏览器会冻结或报告已达到重定向限制。 此外,事件查看器中会记录事件 1003。 例如,会记录以下条目:

事件 ID:1003
来源:MSExchange 前端 HTTPS 代理
[Owa] 出现内部服务器错误。 未处理的例外是:System.NullReferenceException:对象引用未设置为对象实例。
在 Microsoft.Exchange.HttpProxy.FbaModule.ParseCadataCookies(HttpApplication httpApplication)

注意

在 Exchange Server 2013 中引入了 EAC,并替换 Exchange 管理控制台 (EMC) 和 Exchange 控制面板 (ECP),它们是 Exchange Server 2010 中的两个管理界面。

原因

如果 Exchange Server 公开身份验证 (OAuth) 证书已过期、不存在或未正确配置,则会出现此问题。

解决方案

要查看现有 OAuth 证书的状态,请在 Exchange Management Shell 中运行以下命令:

(Get-AuthConfig).CurrentCertificateThumbprint | Get-ExchangeCertificate | Format-List

如果命令返回错误或证书已过期,请使用以下步骤新建 OAuth 证书并将其部署到 Exchange Server:

  1. 运行以下命令新建 OAuth 证书:

    New-ExchangeCertificate -KeySize 2048 -PrivateKeyExportable $true -SubjectName "cn=Microsoft Exchange Server Auth Certificate" -FriendlyName "Microsoft Exchange Server Auth Certificate" -DomainName @()
    
  2. 设置服务器身份验证的新证书。 为此,请运行以下命令:

    Set-AuthConfig -NewCertificateThumbprint <ThumbprintFromStep1> -NewCertificateEffectiveDate (Get-Date)
    Set-AuthConfig -PublishCertificate
    Set-AuthConfig -ClearPreviousCertificate
    
  3. 重启 Microsoft Exchange 服务主机服务。

  4. 运行 IISReset 命令重启 IIS 或运行以下命令(在提升模式下)以回收 Outlook 网页版和 EAC 应用程序池:

    Restart-WebAppPool MSExchangeOWAAppPool
    Restart-WebAppPool MSExchangeECPAppPool
    

    注意

    在某些环境中,发布 OAuth 证书可能需要一个小时。 如果有混合设置,则必须再次运行混合配置向导,以更新对 Microsoft Entra ID 所做的更改。

更多信息

要查看证书的到期日期,请执行以下步骤:

  1. 打开 Microsoft 管理控制台。 为此,请打开“运行”框(Windows 徽标键+R),输入“MMC”,然后按 Enter。

    注意

    如果系统提示输入管理员密码或进行确认,请键入密码,或选择“是”

  2. 依次选择“文件”>、“添加/删除管理单元”>、“选择证书”>、“添加”>、“计算机帐户”,然后选择“完成”关闭窗口。

  3. 在“个人”>“证书”文件夹中查找“Microsoft Exchange Server 身份验证证书”条目,并验证到期日期。