Não consegue aceder ao OWA ou ao ECP depois de instalar o Exchange Server 2016 CU6

Aplica-se a
Exchange Server 2016 Standard Edition Exchange Server 2016 Enterprise Edition

Sintomas

Depois de instalar e atualizar para a Atualização Cumulativa 6 (CU6) do Microsoft Exchange Server 2016, não consegue aceder ao Outlook Web App (OWA) ou ao Exchange Painel de Controle (ECP) e recebe a seguinte mensagem de erro:

Observação

:-( Ocorreu um erro
De momento, não é possível obter essa informação. Tente mais tarde.
X-ClientId: ClientID
X-FEServer: Exch1

Além disso, as seguintes informações de eventos são registradas no log de aplicativos do servidor Exchange que hospeda o banco de dados de caixa de correio:

Observação

Nome do Log: Aplicativo
Fonte: MSExchange OAuth
ID do evento: 2004
Categoria da Tarefa: Configuração
Nível: Aviso
Palavras-chave: Clássico
Usuário: N/A
Computador: mail.contoso.com
Descrição:
Não é possível localizar o certificado com o CertificateValue de impressão digital no computador atual ou o certificado está faltando chave privada. O certificado é necessário para assinar o token de saída.

Observação

  • Nome do Log: Aplicativo
    Fonte: ASP.NET 4.0.30319.0
    ID do evento: 1309
    Categoria da Tarefa: Evento Web
    Nível: Aviso
    Palavras-chave: Clássico
    Usuário: N/A
    Descrição:
    Código do evento: 3005
    Mensagem do evento: Ocorreu uma exceção não processada.
    ID do Evento: ID do Evento
    Sequência de eventos: 2
    Ocorrência do evento: 1
    Código de detalhe do evento: 0
     
    Informações sobre a aplicação:
        Domínio do aplicativo: /LM/W3SVC/2/ROOT/owa-2-DomainID
        Nível de confiança: Completo
        Caminho virtual do aplicativo: /owa
        Caminho do aplicativo: C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\
        Nome da máquina: Exch1
     
    Informações do processo:
        ID do processo: 21508
        Nome do processo: w3wp.exe
        Nome da conta: NT AUTHORITY\SYSTEM
     
    Informações de exceção:
        Tipo de exceção: TargetInvocationException
        Mensagem de exceção: A exceção foi lançada pelo destino de uma invocação.
       em System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
       em System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] argumentos)
       em System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       em Owin.Loader.DefaultLoader.<>c__DisplayClass12.<MakeDelegate>b__b(Construtor IAppBuilder)
       em Owin.Loader.DefaultLoader.<>c__DisplayClass1.<LoadImplementation>b__0(construtor IAppBuilder)
       em Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action'1 startup)
       em Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(Action'1 startup)
       em Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()
       at System.Threading.LazyInitializer.EnsureInitializedCore[T](T& target, Boolean& initialized, Object& syncLock, Func'1 valueFactory)
       em Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(contexto HttpApplication)
       em System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
       em System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
       em System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
       em System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)
  • O certificado de encriptação está ausente
       em Microsoft.Exchange.Security.Authentication.Utility.GetCertificates()
       em Microsoft.Exchange.Clients.Owa2.Server.Core.notifications.SignalR.SignalRStartup.Configuration(IAppBuilder app)

Solicitar informação:
    URL do pedido: https:// mail.contoso.com:URLID/owa/?bO=1
    Caminho da solicitação: /owa/
    Endereço do anfitrião do utilizador: UserHostAddressC:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\owa\
    Utilizador:
    É autenticado: Falso
    Tipo de autenticação:
    Nome da conta do thread: NT AUTHORITY\SYSTEM
 
Informações do tópico:
    ID do tópico: 24
    Nome da conta do thread: NT AUTHORITY\SYSTEM
    Está a fazer-se passar: Falso
    Stack trace: at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   em System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] argumentos)
   em System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   em Owin.Loader.DefaultLoader.<>c__DisplayClass12.<MakeDelegate>b__b(Construtor IAppBuilder)
   em Owin.Loader.DefaultLoader.<>c__DisplayClass1.<LoadImplementation>b__0(construtor IAppBuilder)
   em Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action'1 startup)
   em Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(Action'1 startup)
   em Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()
   at System.Threading.LazyInitializer.EnsureInitializedCore[T](T& target, Boolean& initialized, Object& syncLock, Func'1 valueFactory)
   em Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(contexto HttpApplication)
   em System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)
   em System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)
   em System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)
   em System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)

Causa

Este problema ocorre se o certificado de autenticação do Exchange Server que é utilizado para a assinatura OAuth estiver em falta no servidor Exchange. Pode executar o seguinte comando para marcar se o certificado está em falta:

Get-ExchangeCertificate (Get-AuthConfig). CurrentCertificateThumbprint

Se o certificado estiver faltando, você receberá a seguinte mensagem de erro:

Observação

Um erro especial de RPC ocorre no servidor Exch1: O certificado com a impressão digital CertificateValue não foi encontrado.
+ CategoryInfo: NotSpecified: (:) [Get-ExchangeCertificate], InvalidOperationException
+ FullyQualifiedErrorId: [Server=Exch1,RequestId=RequestID] [FailureCategory=Cmdlet-InvalidOperationException] CEA009BC,Microsoft.Exchange.Management.SystemConfigurationTasks.GetExchangeCertificate

Resolução

Para corrigir esse problema, instale a Atualização Cumulativa 7 para o Exchange Server 2016 ou uma atualização cumulativa posterior para o Exchange Server 2016.

Solução alternativa

Se sua organização tiver vários servidores Exchange, execute o seguinte comando no Shell de Gerenciamento do Exchange para confirmar se o certificado OAuth está presente em outros servidores Exchange:

Get-ExchangeCertificate (Get-AuthConfig). CurrentCertificateThumbprint

Se o certificado estiver presente em outros servidores Exchange, exporte o certificado e importe-o para o servidor Exchange que tem o problema.

Se o certificado não estiver presente em todos os servidores Exchange da organização, siga estas etapas para criar e implantar um novo certificado OAuth no servidor Exchange:

  1. Crie um novo certificado OAuth executando o seguinte comando:
    New-ExchangeCertificate -KeySize 2048 -PrivateKeyExportable $true -SubjectName "cn=Microsoft Exchange Server Certificado de Autenticação" -FriendlyName "Microsoft Exchange Server Certificado de Autenticação" -DomainName "contoso.com"
    Observação Altere o valor do parâmetro DomainName no exemplo (contoso.com) para o domínio SMTP usado em sua organização.
  2. Defina o certificado criado para ser usado para autenticação de servidor executando os seguintes comandos:
    Set-AuthConfig -NewCertificateThumbprint <ThumbprintFromStep1> -NewCertificateEffectiveDate (Get-Date)
    Set-AuthConfig –PublishCertificate
    Set-AuthConfig -ClearPreviousCertificate
  3. Reinicie o serviço de host de serviço do Microsoft Exchange.
  4. Execute o comando IISReset para reiniciar o IIS ou execute os seguintes comandos (no modo elevado) para reciclar pools de aplicativos OWA e ECP:
    Restart-WebAppPool MSExchangeOWAAppPool
    Restart-WebAppPool MSExchangeECPAppPool

    Observação Em alguns ambientes, pode levar uma hora para que o certificado OAuth seja publicado.

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Referências

Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.