症状

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

:-(出现了错误
我们不能现在该信息。请稍后再试。
X-客户机 Id:客户机 Id
X-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 用于描述软件更新的术语

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?

哪些因素影响了你的体验?

是否还有其他反馈?(可选)

谢谢您的反馈意见!

×