您在安裝 Exchange Server 2016 CU6 之後無法存取 OWA 或 ECP

狀況

安裝後,當您升級到 Microsoft Exchange Server 2016年累積更新 6 (CU6) 時,您無法存取 Outlook Web App (OWA) 或 Exchange 控制項面板 (ECP),並且您會收到下列錯誤訊息:

:-(有什麼地方發生錯誤
我們無法取得現在該資訊。請稍後再試。
X ClientId: ClientID
X FEServer: Exch1

此外,裝載的信箱資料庫的 Exchange 伺服器的應用程式記錄檔中記錄下列的事件資訊:

記錄檔名稱︰應用程式
來源: MSExchange OAuth
事件識別碼: 2004年
工作類別: 組態
層級: 警告
關鍵字: 傳統
使用者: n/A
電腦: mail.contoso.com
描述:
找不到憑證指紋為CertificateValue ,在目前的電腦] 或 [憑證沒有私密金鑰。需要憑證來簽署的外寄的語彙基元。

記錄檔名稱: 應用程式
Source:        ASP.NET 4.0.30319.0
事件識別碼: 1309年
工作類別: Web 事件
層級: 警告
關鍵字: 傳統
User:          N/A
描述:
事件程式碼: 3005
事件訊息: 發生未處理的例外狀況。
事件識別碼:識別碼
事件順序: 2
事件: 1
事件詳細資料代碼: 0
 
應用程式資訊:
應用程式定義域: / LM/W3SVC/2/根/owa-2-DomainID
信任層級: 完整
應用程式的虛擬路徑: /owa
應用程式路徑: C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\
電腦名稱: Exch1
 
處理程序資訊:
處理序識別碼: 21508
處理程序名稱: w3wp.exe
帳戶名稱: NT AUTHORITY\SYSTEM
 
例外狀況資訊:
例外狀況型別: TargetInvocationException
例外狀況訊息: 引動過程的目標,已擲回例外狀況。
在 System.RuntimeMethodHandle.InvokeMethod (物件目標、 物件 [] 引數、 簽章的簽章,則為 True 的建構函式)
在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (obj 物件、 物件 [] 參數、 物件 [] 引數)
在 System.Reflection.RuntimeMethodInfo.Invoke (物件 obj、 BindingFlags invokeAttr、 繫結器繫結器、 物件 [] 參數、 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: 
驗證: False
驗證類型:
執行緒帳戶名稱: NT AUTHORITY\SYSTEM
 
執行緒資訊:
執行緒 ID: 24
執行緒帳戶名稱: NT AUTHORITY\SYSTEM
正在進行模擬: False
堆疊追蹤: 在 System.RuntimeMethodHandle.InvokeMethod (物件目標、 物件 [] 引數、 簽章的簽章,則為 True 的建構函式)
在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (obj 物件、 物件 [] 參數、 物件 [] 引數)
在 System.Reflection.RuntimeMethodInfo.Invoke (物件 obj、 BindingFlags invokeAttr、 繫結器繫結器、 物件 [] 參數、 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],InvalidOperationException
+ FullyQualifiedErrorId: [伺服器 = Exch1,RequestId =RequestID] [FailureCategory = Cmdlet InvalidOperationException] CEA009BC,Microsoft.Exchange.Management.SystemConfigurationTasks.GetExchangeCertificate

解決方案

若要修正這個問題,安裝累積更新 7 的 Exchange Server 2016年或更新版本的 Exchange Server 2016年的累積更新.

因應措施

如果貴公司有多部 Exchange 伺服器,請在 [Exchange 管理命令介面,以確認 OAuth 憑證是否存在於其他 Exchange 伺服器上執行下列命令:

取得 ExchangeCertificate(Get-AuthConfig)。CurrentCertificateThumbprint

如果憑證是存在於其他 Exchange 伺服器、將憑證匯出匯入到 Exchange 伺服器上有問題。

如果憑證不存在於組織中所有 Exchange 伺服器上,請依照下列步驟執行,以建立和部署新的 OAuth 憑證到 Exchange 伺服器:

  1. 執行下列命令,以建立新的 OAuth 憑證:

  2. 注意變更在範例 (contoso.com) 到您的組織中使用的 SMTP 網域的網域名稱、參數的值。

  3. 設定要用於伺服器驗證藉由執行下列命令建立的憑證:

    設定 AuthConfig-NewCertificateThumbprint <ThumbprintFromStep1>-NewCertificateEffectiveDate (Get 日期)
    設定 AuthConfig -PublishCertificate
    設定 AuthConfig ClearPreviousCertificate

  4. 重新啟動 Microsoft Exchange 服務主機服務。

  5. 執行巨集IISReset ] 指令,來重新啟動 IIS 或回收 OWA 和 ECP 應用程式集區中執行下列命令 (在提高權限的模式):

    重新啟動 WebAppPool MSExchangeOWAAppPool
    重新啟動 WebAppPool MSExchangeECPAppPool

    注意在某些環境下,它可能要花一個小時,要發行的 OAuth 憑證。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×