Abilitare il supporto HTTPS per la cache connessa Microsoft in Windows

Questo articolo fornisce istruzioni per abilitare il supporto HTTPS nei nodi Microsoft Connected Cache per aziende e istruzione in esecuzione in un computer host Windows.

Il processo di configurazione richiede la generazione di una richiesta di firma del certificato (CSR) sul computer host, la firma del CSR utilizzando PKI aziendale o pubblica e quindi l'importazione nel computer host.

Prerequisiti

Prima di configurare la funzionalità HTTPS, assicurarsi che siano soddisfatti i requisiti seguenti:

  • Il nodo della cache si trova nella versione software GA

    1. Aprire il portale di Azure e passare alla risorsa Connected Cache for Enterprise che ospita i nodi della cache.
    2. In Gestione nodo cache, individuare il nodo della cache su cui si desidera abilitare HTTPS.
    3. Verificare che il nodo si trovi nella versione GA. Dovrebbe essere visualizzato "Sì" o "N/D" nella colonna Migrata .
    4. Se non si usa la versione GA ("No" nella colonna Migrato ), selezionare il nodo della cache, passare alla scheda Distribuzione e seguire le istruzioni per distribuire nuovamente la cache connessa.
  • Accesso a un'autorità di certificazione (CA)

    È necessario accedere all'infrastruttura PKI aziendale o a un'autorità di certificazione pubblica. Se si utilizza l'infrastruttura PKI aziendale, verificare i requisiti dell'organizzazione per l'invio di una CSR a CA.

  • Documentare i metodi di connessione client

    Prendere nota dell'indirizzo IP o del nome host (FQDN) usato dai client per connettersi al server cache connessa. Questo valore verrà utilizzato come input del nome alternativo del soggetto (SAN) durante il processo di generazione di una CSR.

  • Garantire la disponibilità della porta 443

    Per stabilire una connessione HTTPS con Connected Cache, è necessario che la porta 443 sia disponibile sul computer host. Eseguire il comando seguente per controllare:

    netstat -an | findstr :443
    

    Rivedere l'output:

    • Nessuna uscita : la porta 443 non è in uso. Procedere con la configurazione HTTPS.
    • L'output contiene LISTENING (Ad esempio, TCP 0.0.0.0:443 0.0.0.0:0 LISTENING) — La porta 443 è aperta e in ascolto delle connessioni in entrata. Procedere con la configurazione HTTPS.
    • L'output contiene ESTABLISHED (Ad esempio, TCP 192.168.1.10:443 10.0.0.5:52674 ESTABLISHED) — La porta 443 è attivamente utilizzata da un altro servizio. Identificare e arrestare il servizio in conflitto prima che Connected Cache possa usare la porta 443.

    Suggerimento

    Per identificare un servizio che utilizza la porta 443, eseguire netstat -ano | findstr :443 per individuare l'ID processo (PID) nell'ultima colonna. Eseguire tasklist /fi "pid eq <PID>" quindi (sostituendo <PID> con il numero effettivo) il nome del processo. I servizi comuni che utilizzano la porta 443 includono IIS, altri server Web e software VPN. Arrestare o riconfigurare il servizio in conflitto prima di continuare.

  • Verificare la configurazione del proxy aziendale

    Se il firewall o il proxy aziendale intercetta il traffico HTTPS verso il server cache connessa (ad esempio, tramite controllo TLS), la convalida del certificato avrà sempre esito negativo indipendentemente dalla configurazione del certificato.

Per altre informazioni sui prerequisiti, vedere la pagina di riferimento HTTPS in Windows.

Generare una richiesta di firma del certificato (CSR)

Importante

Ogni nodo della cache necessita del proprio CSR/certificato (non può condividere):

  • Usa nomi coerenti: mcc-node1.company.com, mcc-node2.company.com e così via.
  • Documento a quale certificato appartiene a quale nodo
  • I certificati con caratteri jolly non funzionano. Il CSR/certificato utilizzato per la connessione HTTPS alla cache connessa è associato in modo univoco a ciascun nodo della cache per motivi di sicurezza.
  1. Aprire PowerShell come amministratore e passare alla cartella cache connessa che contiene gli script di PowerShell.

    Eseguire il comando seguente per passare alla cartella Script cache connessa:

       cd (deliveryoptimization-cli mcc-get-scripts-path)
    
  2. Configurare i parametri generateCsr.ps1 ed eseguire lo script con i valori specificati.

    Sintassi di base

       .\generateCsr.ps1 [Required Parameters] [Subject Parameters] [SAN Parameters]
    

    Parametri obbligatori

    Parametro Descrizione
    -algo Algoritmo di certificato: RSA, EC, ED25519, o ED448
    -keySizeOrCurve Per RSA: dimensione chiave (2048, 3072, 4096). Per EC: nome della curva (prime256v1, secp384r1). Per ED25519 e ED448: non sono necessarie dimensioni della chiave.
    -csrName Nome desiderato per il file CSR
    -mccRunTimeAccount Account che esegue il software della cache connessa. Deve trattarsi di una variabile di PowerShell contenente il nome utente dell'account che si intende designare come account di runtime della cache connessa. Ad esempio, $User = "LocalMachineName\Username" per un account utente locale. Se si usa un account del servizio gestito di gruppo (gMSA), deve essere formattato come "Domain\Username$".
    -mccLocalAccountCredential Oggetto credenziali di PowerShell per l'account di runtime della cache connessa. Questa operazione è necessaria solo se si usa un account utente locale, un account utente di dominio o un account di servizio. Il comando $myLocalAccountCredential = Get-Credential può essere utilizzato per mettere in coda l'interfaccia grafica di recupero delle credenziali.

    Nota

    Il -mccRunTimeAccount parametro è disponibile nell'applicazione Windows Connected Cache v1.0.26.0 e versioni successive. Se si usa l'applicazione v1.0.24.0 precedente, usarla -RunTimeAccountName per gli account utente locale, utente di dominio e del servizio oppure -RunTimeAccount per gli account del servizio gestito di gruppo (gMSA).

    Parametri dell'oggetto

    Parametro Obbligatorio Descrizione Esempio
    -subjectCommonName Sì Nome comune del certificato "localhost", "example.com"
    -subjectCountry No Codice paese di due lettere "US", "CA", "GB"
    -subjectState No Provincia "WA", "TX", "Ontario"
    -subjectOrg No Nome organizzazione "MyCompany", "ACME Corp"

    Warning

    La configurazione SAN è fondamentale per la convalida del certificato. Il certificato deve corrispondere esattamente al modo in cui i client si connettono alla cache connessa, altrimenti i client ignorano il nodo della cache.

    Ad esempio, se i client si connettono tramite indirizzo 192.168.1.100 IP ma il certificato dispone solo di -sanDns "server.local", la convalida del certificato non riesce.

    Nomi alternativi del soggetto (almeno uno obbligatorio)

    Parametro Descrizione Esempio
    -sanDns Nomi DNS (separati da virgole) "localhost,example.com,api.example.com"
    -sanIp Indirizzi IP (separati da virgole) "127.0.0.1,192.168.1.100"
    -sanUri URI (separati da virgole) "https://example.com,http://localhost"
    -sanEmail Indirizzi Email (separati da virgole) "admin@example.com,user@domain.com"
    -sanRid ID registrati (separati da virgole)
    -sanDirName Nomi di directory (separati da virgole)
    -sanOtherName Altri nomi (separati da virgole)

    Per altri dettagli ed esempi basati su scenari sui parametri degli script CSR, vedere Informazioni di riferimento su HTTPS in Windows

  3. Verificare che il processo di generazione CSR sia stato completato correttamente.

    Se si verificano errori, individua il file con GenerateCsr.log data e ora nella cartella specificata nell'output dello script. Cercare la riga di output che inizia con "Controllare i log per informazioni dettagliate sugli errori:" La directory termina con (...\Certificates\logs).

    • Formato del file: GenerateCsr_YYYYMMDD-HHMMSS.log
    • Esempio: GenerateCsr_20251201_143022.log è un file creato il 1 dicembre 2025 alle 14:30:22
  4. Individuare il file CSR generato nella cartella Certificati nel computer host e, se necessario, trasferirlo

    Il percorso della cartella Certificati è specificato nell'output dello script, a partire da "File CSR creato in: ...". La directory termina con (...\Certificates\certs).

Firma la CSR

  1. Selezionare un'autorità di certificazione (CA) per firmare la CSR.

    Importante

    La firma della CA deve corrispondere a un certificato radice nell'archivio radice attendibile del client.

    • PKI aziendale: la maggior parte dei clienti utilizza l'infrastruttura PKI interna dell'organizzazione per firmare la CSR. Verificare con il team IT o di sicurezza il processo dell'organizzazione per l'invio di una CSR alla CA interna.

    • CA pubblica: se non si dispone di un'infrastruttura PKI aziendale, è possibile usare un'autorità di certificazione pubblica. Le risorse seguenti possono aiutarti a iniziare:

  2. Inviare il CSR alla CA scelta e salvare il certificato firmato.

    Il certificato firmato deve essere un certificato X.509 con codifica PEM e con estensione .crt (testo Base64 che inizia con -----BEGIN CERTIFICATE-----). I certificati DER/binari devono essere convertiti in PEM -- vedere la guida di riferimento a HTTPS in Windows su come convertire in formato .crt.

    Nota

    Connected Cache attualmente non supporta i formati protetti da password (pfx, p12, p7b). Il supporto per questi verrà aggiunto a breve come parte della roadmap per l'automazione dei certificati.

  3. Verificare che il certificato firmato sia nel formato corretto.

    Confermare la codifica PEM:

    Get-Content "xxxx.crt" | Select-String "BEGIN CERTIFICATE"
    

    Output riuscito previsto:

    -----BEGIN CERTIFICATE-----
    
  4. Spostare il certificato firmato nella cartella certificati nel computer host Windows.

    Questa sarà la stessa cartella in cui è stato inizialmente trovato il CSR dopo che è stato generato: (...\Certificates\certs).

    Attenzione

    Non condividere chiavi private, la cache connessa richiede solo il certificato firmato.

Importare un certificato TLS firmato

  1. Aprire PowerShell come amministratore e passare alla cartella cache connessa che contiene gli script di PowerShell.

  2. Configurare i parametri importCert.ps1 ed eseguire lo script con i valori specificati.

    Sintassi di base

      .\importCert.ps1 [Required Parameters]
    

    Parametri obbligatori

    Parametro Descrizione
    -certName Nome file completo del certificato TLS firmato (con o senza estensione .crt)
    -mccRunTimeAccount Account che esegue il software della cache connessa. Deve trattarsi di una variabile di PowerShell contenente il nome utente dell'account che si intende designare come account di runtime della cache connessa. Ad esempio, $User = "LocalMachineName\Username" per un account utente locale. Se si usa un account del servizio gestito di gruppo (gMSA), deve essere formattato come "Domain\Username$".
    -mccLocalAccountCredential Oggetto credenziali di PowerShell per l'account di runtime della cache connessa. Questa operazione è necessaria solo se si usa un account utente locale, un account utente di dominio o un account di servizio. Ad esempio: $myLocalAccountCredential = Get-Credential.

    Nota

    Il -mccRunTimeAccount parametro è disponibile nell'applicazione Windows Connected Cache v1.0.26.0 e versioni successive. Se si usa l'applicazione v1.0.24.0 precedente, usarla -RunTimeAccountName per gli account utente locale, utente di dominio e del servizio oppure -RunTimeAccount per gli account del servizio gestito di gruppo (gMSA).

    Nota

    L'applicazione Windows v1.0.24.0 Connected Cache non supporta l'esecuzione importCert.ps1 in Windows Server 2022 o Windows Server 2025 con un account di runtime dell'account del servizio gestito di gruppo (gMSA). Usare l'applicazione v1.0.26.0 o versione successiva per eseguire questo script in tali ambienti.

    Esempio

      .\importCert.ps1 `
        -mccRunTimeAccount $myLocalAccountCredential.Username `
        -mccLocalAccountCredential $myLocalAccountCredential `
        -certName "myTlsCert.crt"
    
  3. Verificare che il processo di importazione sia stato completato correttamente.

    Se si verificano errori, individua il file con ImportCert.log data e ora nella cartella specificata nell'output dello script. Cerca la riga di output che inizia con "Puoi trovare i log qui: ..."

    • Formato del file: ImportCert_YYYYMMDD-HHMMSS.log
    • Esempio: ImportCert_20251201_143022.log è un file creato il 1 dicembre 2025 alle 14:30:22
  4. Verificare che sia stato importato il certificato corretto eseguendo lo ShowCertDetails.ps1 script.

    Nota

    Lo ShowCertDetails.ps1 script è disponibile a partire dall'applicazione di distribuzione Windows v1.0.26.

    .\ShowCertDetails.ps1
    

    Questo script visualizza l'identificazione personale e la data di scadenza del certificato TLS attualmente importato nel nodo della cache.

  5. Verificare che cache connessa sia accessibile ai client esterni tramite la porta 443.

    Nota

    Verificare nuovamente che la porta 443 sia disponibile prima di configurare il port forwarding: netstat -an | findstr :443

    Inoltra il traffico della porta 443

    Utilizzare il comando seguente per eseguire il bridge del traffico dal computer host Windows al contenitore cache connessa:

     $ipFilePath = Join-Path ([System.Environment]::GetEnvironmentVariable("MCC_INSTALLATION_FOLDER", "Machine")) "wslIp.txt"
     $ipAddress = (Get-Content $ipFilePath | Select-Object -First 1).Trim()
     netsh interface portproxy add v4tov4 listenport=443 listenaddress=0.0.0.0 connectport=443 connectaddress=$ipAddress
    

    In questo modo viene configurato un proxy della porta in modo che il traffico in entrata sulla porta 443 venga reindirizzato all'IP interno del contenitore.

    Aprire la porta 443 nel firewall

    Anche con il port forwarding, Windows Firewall potrebbe bloccare il traffico in entrata o in uscita sulla porta 443. Usare i comandi seguenti per assicurarsi che il traffico HTTPS possa fluire liberamente da e verso la cache connessa.

     [void](New-NetFirewallRule -DisplayName "WSL2 Port Bridge (HTTPS)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort "443")
     [void](New-NetFirewallRule -DisplayName "WSL2 Port Bridge (HTTPS)" -Direction Outbound -Action Allow -Protocol TCP -LocalPort "443")
    

Per istruzioni su come convalidare ulteriormente l'importazione dei certificati, vedere la pagina di convalida HTTPS in Windows.

Disabilitare il supporto HTTPS

Se è necessario ripristinare la cache connessa alla comunicazione solo HTTP, seguire questa procedura. Questo processo non eliminerà nulla nella cartella Certificati, inclusi i file, i certificati e i log CSR.

  1. Aprire PowerShell come amministratore e passare alla cartella degli script di PowerShell.

  2. Configurare i parametri disableTls.ps1 ed eseguire lo script con i valori specificati.

    Sintassi di base

      .\disableTls.ps1 [Required Parameters]
    

    Parametri obbligatori

    Parametro Descrizione
    -mccRunTimeAccount Account che esegue il software della cache connessa. Deve trattarsi di una variabile di PowerShell contenente il nome utente dell'account che si intende designare come account di runtime della cache connessa. Ad esempio, $User = "LocalMachineName\Username" per un account utente locale. Se si usa un account del servizio gestito di gruppo (gMSA), deve essere formattato come "Domain\Username$".
    -mccLocalAccountCredential Oggetto credenziali di PowerShell per l'account di runtime della cache connessa. Questa operazione è necessaria solo se si usa un account utente locale, un account utente di dominio o un account di servizio. Ad esempio: $myLocalAccountCredential = Get-Credential.

    Nota

    Il -mccRunTimeAccount parametro è disponibile nell'applicazione Windows Connected Cache v1.0.26.0 e versioni successive. Se si usa l'applicazione v1.0.24.0 precedente, usarla -RunTimeAccountName per gli account utente locale, utente di dominio e del servizio oppure -RunTimeAccount per gli account del servizio gestito di gruppo (gMSA).

    Esempio

      .\disableTls.ps1 `
        -mccRunTimeAccount $myLocalAccountCredential.Username `
        -mccLocalAccountCredential $myLocalAccountCredential `
    
  3. Verificare che il processo di disabilitazione sia stato completato correttamente.

  4. Dopo la disabilitazione di HTTPS, le richieste HTTP dovrebbero funzionare mentre le richieste HTTPS dovrebbero avere esito negativo. Vedi la pagina di convalida HTTPS in Windows per istruzioni su come testare questa funzionalità.

Passaggi successivi