Validar a configuração de HTTPS para o Cache conectado da Microsoft no Windows

Este artigo fornece instruções sobre como validar o suporte a HTTPS no Cache Conectado da Microsoft para Empresas e Cache conectado da Microsoft para empresas e instituições de ensino em execução no Windows com WSL (Subsistema do Windows para Linux).

Testar downloads de conteúdo HTTP e HTTPS

Antes de testar, você precisa identificar como os clientes se conectam ao seu servidor de Cache Conectado. Esse é o mesmo método de conexão que você configurou no SAN (Nome Alternativo para Entidade) do certificado durante a geração do CSR.

Importante

Substitua [mcc-connection] e [test-url] em todos os comandos abaixo

Para determinar o seguinte [mcc-connection]:

  • Se você usou -sanIp em seu CSR: Use o endereço IP (exemplo: 192.168.1.100)
  • Se você usou -sanDns em seu CSR: Use o nome do host (exemplo: mcc-server.contoso.com)

[test-url]é o caminho completo de um aplicativo Win32 do Intune de teste:ee344de8-d177-4720-86c1-a076581766f9/070a8fd4-79a7-42c8-b7c8-9883253bb01a/c7b1b825-88b2-4e66-9b15-ff5fe0374bc6.appxbundle.bin

Em seguida, execute os seguintes comandos curl em seu computador host Windows (o servidor de Cache Conectado) para testar a recuperação de conteúdo HTTP e HTTPS:

  • Teste de HTTPS

        curl.exe -v -o NUL "https://[mcc-connection]/[test-url]" --include -H "host:swda01-mscdn.manage.microsoft.com"
    

    Resultado bem-sucedido esperado:

    * Connected to [your-server] ([ip-address]) port 443 (#0)
    * TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    * Server certificate: [your-certificate-subject]
    < HTTP/1.1 200 OK
    < Content-Length: [file-size]
    
  • Teste de HTTP

        curl.exe -v -o NUL "http://[mcc-connection]/[test-url]" --include -H "host:swda01-mscdn.manage.microsoft.com"
    

    Resultado bem-sucedido esperado:

    * Connected to [your-server] ([ip-address]) port 80 (#0)
    < HTTP/1.1 200 OK
    < Content-Length: [file-size]
    

Validação do lado do serviço

Realize os seguintes testes em seu computador host Windows:

  • Teste a conectividade com o PowerShell:

        Invoke-WebRequest -Uri "https://[mcc-connection]/[test-url]" -Headers @{"host"="swda01-mscdn.manage.microsoft.com"} -Method Head
    

    Resultado esperado:StatusCode: 200 indica conexão HTTPS bem-sucedida.

  • Verifique os logs de Otimização de Entrega para atividade HTTPS:

      # Search for HTTPS connections in recent logs
      Select-String -Path "C:\Windows\Logs\DeliveryOptimization\*.log" -Pattern "https://" | Select-Object -First 5
    
      # Search for your specific Connected Cache server connections
      Select-String -Path "C:\Windows\Logs\DeliveryOptimization\*.log" -Pattern "[mcc-connection]" | Select-Object -First 5
    

    Resultado esperado: As entradas de log que mostram URLs HTTPS e o endereço do servidor de Cache Conectado indicam que os clientes estão usando o HTTPS com êxito.

Validação do lado do cliente

Execute os seguintes comandos em um dispositivo cliente (não em seu computador host Windows).

Pré-requisito: Verifique se o computador host é direcionado por meio da política. Atualize o endereço IP do Cache Conectado (o valor da política "DOCacheHost") para o que for relevante para o ambiente:

   $parentKeyPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization"
   if (!(Test-Path $parentKeyPath))
     {
        New-Item -Path $parentKeyPath -ItemType RegistryKey -Force -ErrorAction Stop | Out-Null
     }
   Set-ItemProperty -Path $parentKeyPath -Name "DOCacheHost" -Value "[mcc-connection]" -ErrorAction Stop
  • Solicitar o download do aplicativo Teams do Cache Conectado via HTTPS:

        Add-AppxPackage "https://installer.teams.static.microsoft/production-windows-x64/25177.2002.3761.5185/MSTeams-x64.msix"
    

    Resultado esperado: O download é concluído sem erros e deve ser mais rápido do que os downloads típicos da Internet.

  • Verifique se o conteúdo está realmente sendo armazenado em cache (não apenas voltando para a CDN):

        Get-DeliveryOptimizationStatus | Select-Object DownloadMode, TotalBytesDownloaded, BytesFromCacheServer
    

    Resultado esperado:BytesFromCacheServer deve ser maior que 0, indicando cache bem-sucedido.

Solução de problemas

Se uma etapa de validação falhar, use os testes a seguir para isolar a causa. Cada teste ignora uma parte do processo de conexão. Se o teste for bem-sucedido, você saberá que a parte ignorada é o problema.

Importante

Substitua [mcc-connection] e [test-url] em todos os comandos abaixo

Para determinar o seguinte [mcc-connection]:

  • Se você usou -sanIp em seu CSR: Use o endereço IP (exemplo: 192.168.1.100)
  • Se você usou -sanDns em seu CSR: Use o nome do host (exemplo: mcc-server.contoso.com)

[test-url]é o caminho completo de um aplicativo Win32 do Intune de teste:ee344de8-d177-4720-86c1-a076581766f9/070a8fd4-79a7-42c8-b7c8-9883253bb01a/c7b1b825-88b2-4e66-9b15-ff5fe0374bc6.appxbundle.bin

Erros de validação de certificado

Sintomas:SSL certificate problem, certificate subject name does not match

Teste de diagnostico: O comando a seguir usa o -k sinalizador para ignorar totalmente a validação do certificado. Isso diz ao curl para se conectar sem verificar o certificado do servidor. Dessa forma, você pode determinar qual é o problema: o certificado ou outra coisa.

   curl.exe -v -k -o NUL "https://[mcc-connection]/[test-url]"

Se o teste for bem-sucedido: O servidor e a rede estão funcionando corretamente. O problema é com o próprio certificado. Verifique se:

  • A configuração da SAN corresponde ao seu método de conexão (endereço IP ou nome de host)
  • O certificado raiz da autoridade de certificação está instalado no repositório confiável do cliente

Se o teste falhar: O problema não é o certificado. Consulte Erros de conexão abaixo.

Erros de revogação de certificado

Sintomas: Respostas ou tempos limite lentos de HTTPS

Teste de diagnostico: O comando a seguir usa o --ssl-no-revoke sinalizador para ignorar a verificação da lista de certificados revogados (CRL). Normalmente, o cliente entra em contato com o ponto de distribuição de CRL da autoridade de certificação para verificar se o certificado não foi revogado. Se esse ponto de extremidade estiver inacessível, ele causará lentidão ou tempos limite.

   curl.exe -v --ssl-no-revoke -o NUL "https://[mcc-connection]/[test-url]"

Se o teste for bem-sucedido: A conexão funciona quando a verificação de revogação é ignorada, o que confirma que o cliente não consegue acessar o ponto de distribuição de CRL. Verifique se o firewall permite acesso às URLs CRL listadas no certificado.

Se o teste falhar: O problema não é a verificação de revogação. Consulte Erros de conexão abaixo.

Erros de conexão

Sintomas:Connection refused, Could not resolve host

Se você não conseguir se conectar de forma alguma (ao contrário de se conectar, mas ver erros de certificado), o problema normalmente está relacionado à rede ou ao firewall.

Para erros de conexão HTTPS:

  • Verifique se as regras de firewall e o encaminhamento de porta estão configurados corretamente

  • Verifique se nenhum outro serviço está usando a porta 443:

        netstat -an | findstr :443
    

Para erros de conexão HTTP: Verifique se o serviço de Cache Conectado está em execução e se a porta 80 está acessível

   netstat -an | findstr :80

Para problemas de resolução de DNS: Verificar a resolução de nome de host e a conectividade de rede

   nslookup [mcc-connection]

Interferência de proxy corporativo

Sintomas: A validação do certificado falha apesar da configuração correta.

Solução: Verifique se o proxy corporativo não intercepta o tráfego HTTPS para o servidor de Cache Conectado. Considere desabilitar a inspeção TLS para o tráfego interno de Cache Conectado.

Recursos