如果 Exchange Server OAuth 憑證已過期,則無法登入 Outlook 網頁版或 EAC

原始 KB 編號: 2617816

徵狀

當您嘗試登入至 Outlook 網頁版或 Exchange Server 中的 EAC 時,網頁瀏覽器會凍結,或顯示已達到重新導向限制的報告。 此外,已在事件檢視器中記錄事件 1003。 例如,會記錄下列項目:

事件識別碼:1003
來源: MSExchange 前端 HTTPS Proxy
[Owa] 發生內部伺服器錯誤。 未處理的例外狀況為: System.NullReferenceException: 並未將物件參考設定為物件的執行個體。
於 Microsoft.Exchange.HttpProxy.FbaModule.ParseCadataCookies(HttpApplication httpApplication)

注意事項

EAC 已在 Exchange Server 2013 中引進,可取代 Exchange Management Console (EMC) 和 Exchange Control Panel (ECP),即 Exchange Server 2010 中的兩個管理介面。

原因

如果 Exchange Server 開放驗證 (OAuth) 憑證已過期、不存在或未正確設定,就會發生此問題。

解決方案

若要檢查現有 OAuth 憑證的狀態,請在 Exchange 管理命令介面中執行下列命令:

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

如果命令傳回錯誤,或憑證已過期,請使用下列步驟來建立新的 OAuth 憑證並將其部署至 Exchange 伺服器:

  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 Management Console。 為此,請開啟 [執行] 方塊 (Windows 標誌鍵+R) ,輸入 MMC,然後按 [Enter] 鍵。

    注意事項

    若提示您輸入系統管理員密碼或確認,請輸入密碼或選擇 [是]

  2. 選取 [檔案]> [新增/移除嵌入式管理單元]> [選取憑證]> [新增]> [電腦帳戶],然後選取 [完成] 以關閉視窗。

  3. 在 [個人]> [憑證] 資料夾中尋找 [Microsoft Exchange Server 驗證] 項目,並確認到期日。