Sintomas
Depois de instalar e atualizar para a Atualização Cumulativa 6 (CU6) do Microsoft Exchange Server 2016, você não pode acessar o OWA (Outlook Web App) ou o ECP (Painel de Controle do Exchange e recebe a seguinte mensagem de erro:
Observação
:-( Ocorreu um erro
Não podemos obter essa informação agora. Tente mais tarde.
X-ClientId: ClientID
X-FEServer: Exch1
Além disso, as seguintes informações de eventos são registradas no log do aplicativo do servidor Exchange que hospeda o banco de dados da caixa de correio:
Observação
Nome do Log: Aplicativo
Origem: MSExchange OAuth
ID do Evento: 2004
Categoria da tarefa: Configuração
Nível: Aviso
Palavras-chave: Clássico
Usuário: N/D
Computador: mail.contoso.com
Descrição:
Não é possível localizar o certificado com a impressão digital CertificateValue no computador atual ou o certificado não tem 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 da Web
Nível: Aviso
Palavras-chave: Clássico
Usuário: N/D
Descrição:
Código do evento: 3005
Mensagem de evento: ocorreu uma exceção sem tratamento.
ID do Evento: EventID
Sequência de eventos: 2
Ocorrência do evento: 1
Código de detalhes do evento: 0
Informações do aplicativo:
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 do computador: 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: uma exceção foi lançada pelo destino de uma invocação.
em System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, construtor booleano)
em System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parâmetros, Object[] argumentos)
em System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, parâmetros Object[], cultura CultureInfo)
em Owin.Loader.DefaultLoader.<>c__DisplayClass12.<MakeDelegate>b__b(IAppBuilder builder)
em Owin.Loader.DefaultLoader.<>c__DisplayClass1.<LoadImplementation>b__0(IAppBuilder builder)
em Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action'1 startup)
em Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build (inicialização do Action'1)
em Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()
em 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(estado HttpApplicationState, MethodInfo[] manipuladores, IntPtr appContext, contexto HttpContext)
em System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr, appContext, contexto HttpContext)
em System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) - O certificado de criptografia está ausente
em Microsoft.Exchange.Security.Authentication.Utility.GetCertificates()
em Microsoft.Exchange.Clients.Owa2.Server.Core.notifications.SignalR.SignalRStartup.Configuration(Aplicativo IAppBuilder)
Solicitar informações:
URL da solicitação: https:// mail.contoso.com:URLID/owa/?bO=1
Caminho da solicitação: /owa/
Endereço host do usuário: 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á representando: Falso
Rastreamento de pilha: em System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, construtor booleano)
em System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parâmetros, Object[] argumentos)
em System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, parâmetros Object[], cultura CultureInfo)
em Owin.Loader.DefaultLoader.<>c__DisplayClass12.<MakeDelegate>b__b(IAppBuilder builder)
em Owin.Loader.DefaultLoader.<>c__DisplayClass1.<LoadImplementation>b__0(IAppBuilder builder)
em Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action'1 startup)
em Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build (inicialização do Action'1)
em Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()
em 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(estado HttpApplicationState, MethodInfo[] manipuladores, IntPtr appContext, contexto HttpContext)
em System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr, appContext, contexto HttpContext)
em System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)
Causa
Esse problema ocorrerá se o certificado de Autenticação do Exchange Server usado para a assinatura do OAuth estiver ausente no servidor Exchange. Você pode executar o seguinte comando para marcar se o certificado está ausente:
Get-ExchangeCertificate (Get-AuthConfig). CurrentCertificateThumbprint
Se o certificado estiver ausente, 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:
- 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. - 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 - Reinicie o serviço de host de serviço do Microsoft Exchange.
- 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.