Applies ToExchange Server 2016 Standard Edition Exchange Server 2016 Enterprise Edition

症状

安装和升级到 Microsoft Exchange Server 2016年累积更新 6 (CU6) 后,您无法访问 Outlook Web App (OWA) 或 Exchange 控件面板 (ECP),并且您会收到以下错误消息:

:-(出现了错误我们不能现在该信息。请稍后再试。X-客户机 Id:客户机 IdX-FEServer: Exch1

此外,Exchange 服务器承载的邮箱数据库的应用程序日志中记录以下事件信息:

登录名: 应用程序来源: MSExchange OAuth事件 ID:2004任务类别: 配置级别: 警告关键词: 经典用户: 不适用计算机: mail.contoso.com说明:找不到指纹CertificateValue当前计算机中的证书没有私钥。需要证书进行签名的传出的标记。

登录名: 应用程序 Source:        ASP.NET 4.0.30319.0事件 ID: 1309年任务类别: Web 事件级别: 警告关键词: 经典 User:          N/A说明:事件代码: 3005事件消息: 未经处理的异常。事件 ID: EventID事件序列: 2事件发生: 1事件详细信息代码: 0  应用程序信息:应用程序域: / LM/W3SVC/2/根/owa-2-DomainID信任级别: 完全应用程序虚拟路径: /owa应用程序路径: C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\计算机名称: Exch1  进程信息:进程 ID: 21508过程名称: w3wp.exe帐户名称: NT AUTHORITY\SYSTEM  异常信息:异常类型: 这样异常消息: 调用的目标会引发异常。在 System.RuntimeMethodHandle.InvokeMethod 对象目标、 对象 [] 参数、 签名 sig (布尔值的构造函数)在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (obj 对象、 对象 [] 参数对象 [] 参数)在 System.Reflection.RuntimeMethodInfo.Invoke (对象 obj、 BindingFlags 目的、 活页夹联编程序、 对象 [] 参数的 CultureInfo 区域性)在 < MakeDelegate > b__b (IAppBuilder 构建器) Owin.Loader.DefaultLoader.<> c__DisplayClass12。在 < LoadImplementation > b__0(IAppBuilder builder) Owin.Loader.DefaultLoader.<> c__DisplayClass1。在 Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize (操作"1 启动)在 Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build (操作"1 启动)在 Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()在 System.Threading.LazyInitializer.EnsureInitializedCore[T] (T 和目标,布尔值初始化对象 & syncLock,Func'1 valueFactory)在 Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init (HttpApplication 上下文)在 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS (IntPtr appContext、 HttpContext 上下文、 MethodInfo [] 处理程序)在 System.Web.HttpApplication.InitSpecial (HttpApplicationState 状态 MethodInfo [] 处理程序、 IntPtr appContext、 HttpContext 上下文)在 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance (IntPtr appContext,HttpContext 上下文)在 System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr appContext)

加密证书不存在在 Microsoft.Exchange.Security.Authentication.Utility.GetCertificates()在 Microsoft.Exchange.Clients.Owa2.Server.Core.notifications.SignalR.SignalRStartup.Configuration (IAppBuilder 应用程序)

请求的信息:请求的 URL: https://mail.contoso.com:URLID/owa/? bO = 1请求路径: /owa/用户主机地址: UserHostAddressC:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\     User: 进行身份验证: 假身份验证类型:线程帐户名: NT AUTHORITY\SYSTEM  线程信息:线程 ID: 24线程帐户名: NT AUTHORITY\SYSTEM正在模拟: 假堆栈跟踪: 在 System.RuntimeMethodHandle.InvokeMethod 对象目标、 对象 [] 参数、 签名 sig (布尔值的构造函数)在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (obj 对象、 对象 [] 参数对象 [] 参数)在 System.Reflection.RuntimeMethodInfo.Invoke (对象 obj、 BindingFlags 目的、 活页夹联编程序、 对象 [] 参数的 CultureInfo 区域性)在 < MakeDelegate > b__b (IAppBuilder 构建器) Owin.Loader.DefaultLoader.<> c__DisplayClass12。在 < LoadImplementation > b__0(IAppBuilder builder) Owin.Loader.DefaultLoader.<> c__DisplayClass1。在 Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize (操作"1 启动)在 Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build (操作"1 启动)在 Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()在 System.Threading.LazyInitializer.EnsureInitializedCore[T] (T 和目标,布尔值初始化对象 & syncLock,Func'1 valueFactory)在 Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init (HttpApplication 上下文)在 System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS (IntPtr appContext、 HttpContext 上下文、 MethodInfo [] 处理程序)在 System.Web.HttpApplication.InitSpecial (HttpApplicationState 状态 MethodInfo [] 处理程序、 IntPtr appContext、 HttpContext 上下文)在 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance (IntPtr appContext,HttpContext 上下文)在 System.Web.Hosting.PipelineRuntime.InitializeApplication (IntPtr appContext)

原因

如果 Exchange 服务器身份验证证书用于 OAuth 签名缺少从 Exchange 服务器,将出现此问题。您可以运行下面的命令以检查是否缺少证书:

获得 ExchangeCertificate(Get-AuthConfig)。CurrentCertificateThumbprint

如果该证书丢失,您将收到以下错误消息:

在 Exch1 服务器上发生的特殊的 Rpc 错误: 找不到指纹CertificateValue证书。+ CategoryInfo: NotSpecified: (::)[Get-ExchangeCertificate] 能反转+ FullyQualifiedErrorId: [服务器 = Exch1,了申请 Id =了申请 Id] [FailureCategory = Cmdlet 能反转] CEA009BC,Microsoft.Exchange.Management.SystemConfigurationTasks.GetExchangeCertificate

解决方案

若要解决此问题,请安装累积更新 7 Exchange Server 2016年或更高版本的 Exchange Server 2016 年累积更新.

解决方法

如果组织中有多个 Exchange 服务器,请在 Exchange 管理外壳程序以确认 OAuth 证书是否存在其他 Exchange 服务器上运行以下命令:

获得 ExchangeCertificate(Get-AuthConfig)。CurrentCertificateThumbprint

如果其他 Exchange 服务器导出证书,然后将其导入 Exchange 服务器上有证书,会出现问题。

如果证书不在组织中存在的所有 Exchange 服务器上,请按照这些步骤来创建和部署到 Exchange 服务器的新的 OAuth 证书:

  1. 通过运行以下命令创建一个新的 OAuth 证书:

    新 ExchangeCertificate KeySize 2048-PrivateKeyExportable $true-SubjectName"cn = Microsoft Exchange Server 身份验证证书"友好的"Microsoft Exchange Server 身份验证证书"域名称"contoso.com"

    注意:更改为您的组织中使用的 SMTP 域的示例 (contoso.com) 中的域名参数的值。

  2. 设置创建的证书以用于服务器身份验证,通过运行以下命令:

    组-AuthConfig-NewCertificateThumbprint <ThumbprintFromStep1> NewCertificateEffectiveDate (获取日期) 组-AuthConfig -PublishCertificate一组 AuthConfig ClearPreviousCertificate

  3. 重新启动 Microsoft Exchange 服务主机服务。

  4. 无论是运行IISReset命令重新启动 IIS 或运行以下命令 (在提升模式下) 回收 OWA 和 ECP 的应用程序池:

    重新启动 WebAppPool MSExchangeOWAAppPool 重新启动 WebAppPool MSExchangeECPAppPool

    注意:在某些环境中,可能要花一小时的 OAuth 证书发布时间。

状态

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。

参考资料

了解 Microsoft 用于描述软件更新的术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。