Convalidare la configurazione HTTPS per Microsoft Connected Cache in Windows

Questo articolo fornisce istruzioni su come convalidare il supporto HTTPS nei nodi Microsoft Connected Cache per aziende e istruzione in esecuzione in Windows con WSL (sottosistema Windows per Linux).

Testare i download di contenuto HTTP e HTTPS

Prima di eseguire il test, è necessario identificare il modo in cui i client si connettono al server di Cache connessa. Questo è lo stesso metodo di connessione configurato nel nome alternativo soggetto (SAN) del certificato durante la generazione csr.

Importante

Sostituire [mcc-connection] e [test-url] in tutti i comandi seguenti

Per determinare :[mcc-connection]

  • Se è stato usato -sanIp nel csr: usare l'indirizzo IP (ad esempio: 192.168.1.100)
  • Se è stato usato -sanDns nel csr: usare il nome host (esempio: mcc-server.contoso.com)

[test-url]è il percorso completo di un test Intune'applicazione Win32:ee344de8-d177-4720-86c1-a076581766f9/070a8fd4-79a7-42c8-b7c8-9883253bb01a/c7b1b825-88b2-4e66-9b15-ff5fe0374bc6.appxbundle.bin

Eseguire quindi i comandi curl seguenti nel computer host Windows (il server Cache connessa) per testare il recupero del contenuto HTTP e HTTPS:

  • HTTPS Test

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

    Output con esito positivo previsto:

    * 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]
    
  • HTTP Test

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

    Output con esito positivo previsto:

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

Convalida sul lato servizio

Eseguire i test seguenti nel computer host Windows:

  • Testare la connettività con PowerShell:

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

    Risultato previsto:StatusCode: 200 indica l'esito positivo della connessione HTTPS.

  • Controllare i log di ottimizzazione recapito per l'attività 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
    

    Risultato previsto: Le voci di log che mostrano gli URL HTTPS e l'indirizzo del server della cache connessa indicano che i client usano https correttamente.

Convalida sul lato client

Eseguire i comandi seguenti in un dispositivo client (non nel computer host Windows).

Prerequisito: Assicurarsi che il computer host sia destinato tramite criteri. Aggiornare l'indirizzo IP della cache connessa (il valore per il criterio "DOCacheHost") a qualsiasi elemento rilevante per l'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
  • Richiedere il download dell'app Teams dalla cache connessa tramite HTTPS:

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

    Risultato previsto: Il download viene completato senza errori e deve essere più veloce dei download Internet tipici.

  • Verificare che il contenuto sia effettivamente memorizzato nella cache (non solo il ritorno alla rete CDN):

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

    Risultato previsto:BytesFromCacheServer deve essere maggiore di 0, a indicare che la memorizzazione nella cache è riuscita.

Risoluzione dei problemi

Se un passaggio di convalida non riesce, usare i test seguenti per isolare la causa. Ogni test ignora una parte del processo di connessione. Se il test ha esito positivo, si sa che la parte ignorata è il problema.

Importante

Sostituire [mcc-connection] e [test-url] in tutti i comandi seguenti

Per determinare :[mcc-connection]

  • Se è stato usato -sanIp nel csr: usare l'indirizzo IP (ad esempio: 192.168.1.100)
  • Se è stato usato -sanDns nel csr: usare il nome host (esempio: mcc-server.contoso.com)

[test-url]è il percorso completo di un test Intune'applicazione Win32:ee344de8-d177-4720-86c1-a076581766f9/070a8fd4-79a7-42c8-b7c8-9883253bb01a/c7b1b825-88b2-4e66-9b15-ff5fe0374bc6.appxbundle.bin

Errori di convalida del certificato

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

Test di diagnostica: Il comando seguente usa il flag per ignorare completamente la -k convalida del certificato. Questo indica a curl di connettersi senza verificare il certificato del server. In questo modo, è possibile determinare qual è il problema: il certificato o qualcos'altro.

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

Se il test ha esito positivo: Il server e la rete funzionano correttamente. Il problema riguarda il certificato stesso. Verificare che:

  • La configurazione SAN corrisponde al metodo di connessione (indirizzo IP o nome host)
  • Il certificato radice ca è installato nell'archivio attendibile del client

Se il test non riesce: Il problema non è il certificato. Vedere Gli errori di connessione riportati di seguito.

Errori di revoca del certificato

Sintomi: Risposte o timeout HTTPS lenti

Test di diagnostica: Il comando seguente usa il flag per ignorare il --ssl-no-revoke controllo dell'elenco di revoche di certificati ( CRL). In genere, il client contatta il punto di distribuzione CRL della CA per verificare che il certificato non sia stato revocato. Se l'endpoint non è raggiungibile, causa lentezza o timeout.

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

Se il test ha esito positivo: La connessione funziona quando il controllo di revoca viene ignorato, confermando che il client non riesce a raggiungere il punto di distribuzione CRL. Verificare che il firewall consenta l'accesso agli URL CRL elencati nel certificato.

Se il test non riesce: Il problema non è il controllo delle revoche. Vedere Gli errori di connessione riportati di seguito.

Errori di connessione

Sintomi:Connection refused, Could not resolve host

Se non è possibile connettersi affatto (anziché connettersi ma visualizzare errori di certificato), il problema è in genere correlato alla rete o al firewall.

Per gli errori di connessione HTTPS:

  • Verificare che le regole del firewall e l'inoltro delle porte siano configurati correttamente

  • Verificare che nessun altro servizio usi la porta 443:

        netstat -an | findstr :443
    

Per gli errori di connessione HTTP: Verificare che il servizio Cache connessa sia in esecuzione e che la porta 80 sia accessibile

   netstat -an | findstr :80

Per i problemi di risoluzione DNS: Verificare la risoluzione dei nomi host e la connettività di rete

   nslookup [mcc-connection]

Interferenza del proxy aziendale

Sintomi: La convalida del certificato non riesce nonostante la configurazione corretta.

Soluzione: Assicurarsi che il proxy aziendale non intercetti il traffico HTTPS verso il server di Cache connessa. Provare a disabilitare l'ispezione TLS per il traffico interno della cache connessa.

Risorse