Activer la prise en charge https pour le cache connecté Microsoft sur Windows

Cet article fournit des instructions pour activer la prise en charge https sur Cache connecté Microsoft pour les entreprises et l’éducation nœuds s’exécutant sur un ordinateur hôte Windows.

Le processus d’installation nécessite la génération d’une demande de signature de certificat (CSR) sur votre ordinateur hôte, la signature de la demande de signature de certificat à l’aide d’une infrastructure à clé publique ou d’entreprise, puis l’importation sur l’ordinateur hôte.

Conditions préalables

Avant de configurer la fonctionnalité HTTPS, vérifiez que les conditions suivantes sont remplies :

  • Le nœud de cache se trouve sur la version du logiciel en disponibilité générale

    1. Ouvrez Portail Azure et accédez à la ressource Connected Cache for Enterprise qui héberge vos nœuds de cache.
    2. Sous Gestion des nœuds du cache, recherchez le nœud de cache sur lequel vous souhaitez activer HTTPS.
    3. Vérifiez que le nœud se trouve sur la version en disponibilité générale : doit afficher « Oui » ou « N/A » dans la colonne Migrée .
    4. S’il n’est pas sur la version en disponibilité générale (« Non » dans la colonne Migrée ), sélectionnez le nœud de cache, accédez à l’onglet Déploiement et suivez les instructions pour redéployer le cache connecté.
  • Accès à une autorité de certification

    Vous devez accéder à votre infrastructure à clé publique d’entreprise ou à une autorité de certification publique. Si vous utilisez une infrastructure à clé publique d’entreprise, case activée les exigences de votre organization pour soumettre une demande de signature de certificat à l’autorité de certification.

  • Documenter les méthodes de connexion client

    Notez l’adresse IP ou le nom d’hôte (FQDN) que vos clients utilisent pour se connecter à votre serveur de cache connecté. Cette valeur sera utilisée comme entrée SAN (Subject Alternative Name) pendant le processus de génération d’une demande de signature de certificat.

  • Garantir la disponibilité du port 443

    Pour établir une connexion HTTPS avec le cache connecté, le port 443 doit être disponible sur votre ordinateur hôte. Exécutez la commande suivante pour case activée :

    netstat -an | findstr :443
    

    Passez en revue la sortie :

    • Aucune sortie : le port 443 n’est pas utilisé. Passez à la configuration https.
    • La sortie contient LISTENING (par exemple, TCP 0.0.0.0:443 0.0.0.0:0 LISTENING) — Le port 443 est ouvert et à l’écoute des connexions entrantes. Passez à la configuration https.
    • La sortie contient ESTABLISHED (par exemple, TCP 192.168.1.10:443 10.0.0.5:52674 ESTABLISHED) — Le port 443 est activement utilisé par un autre service. Identifiez et arrêtez le service en conflit avant que le cache connecté puisse utiliser le port 443.

    Astuce

    Pour identifier un service à l’aide du port 443, exécutez netstat -ano | findstr :443 pour rechercher l’ID de processus (PID) dans la dernière colonne. Exécutez tasklist /fi "pid eq <PID>" ensuite (en <PID> remplaçant par le nombre réel) pour voir le nom du processus. Les services courants qui utilisent le port 443 incluent IIS, d’autres serveurs web et des logiciels VPN. Arrêtez ou reconfigurez le service en conflit avant de continuer.

  • Vérifier la configuration du proxy d’entreprise

    Si votre pare-feu ou proxy d’entreprise intercepte le trafic HTTPS vers votre serveur de cache connecté (par exemple, via une inspection TLS), la validation du certificat échoue toujours, quelle que soit la configuration du certificat.

Pour plus d’informations sur l’un des prérequis, consultez la page de référence HTTPS sur Windows.

Générer une demande de signature de certificat (CSR)

Important

Chaque nœud de cache a besoin de son propre certificat/csr (ne peut pas être partagé) :

  • Utilisez un nommage cohérent : mcc-node1.company.com, mcc-node2.company.com, etc.
  • Documenter le certificat qui appartient à quel nœud
  • Les certificats génériques ne fonctionnent pas. Le certificat/csr utilisé pour la connexion HTTPS au cache connecté est lié de manière unique à chaque nœud de cache à des fins de sécurité.
  1. Ouvrez PowerShell en tant qu’administrateur et accédez au dossier Cache connecté qui contient ses scripts PowerShell.

    Exécutez la commande suivante pour accéder à ce dossier scripts de cache connecté :

       cd (deliveryoptimization-cli mcc-get-scripts-path)
    
  2. Configurez les paramètres pour generateCsr.ps1 et exécutez le script avec les valeurs spécifiées.

    Syntaxe de base

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

    Paramètres requis

    Paramètre Description
    -algo Algorithme de certificat : RSA, EC, ED25519ou ED448
    -keySizeOrCurve Pour RSA : taille de clé (2048, 3072, 4096). Pour EC : nom de la courbe (prime256v1, secp384r1). Pour ED25519 et ED448 : aucune taille de clé n’est nécessaire.
    -csrName Nom souhaité pour le fichier CSR
    -mccRunTimeAccount Compte qui exécute le logiciel Cache connecté. Il doit s’agir d’une variable PowerShell contenant le nom d’utilisateur du compte que vous avez l’intention de désigner comme compte d’exécution du cache connecté. Par exemple, $User = "LocalMachineName\Username" pour un compte d’utilisateur local. Si vous utilisez un compte de service administré de groupe (gMSA), il doit être au "Domain\Username$"format .
    -mccLocalAccountCredential Objet d’informations d’identification PowerShell pour le compte d’exécution du cache connecté. Cela n’est nécessaire que si vous utilisez un compte d’utilisateur local, un compte d’utilisateur de domaine ou un compte de service. La commande $myLocalAccountCredential = Get-Credential peut être utilisée pour mettre en file d’attente l’interface graphique graphique de récupération des informations d’identification.

    Remarque

    Le -mccRunTimeAccount paramètre est disponible dans l’application Windows cache connecté v1.0.26.0 et versions ultérieures. Si vous utilisez l’application v1.0.24.0 antérieure, utilisez -RunTimeAccountName pour les comptes d’utilisateur local, d’utilisateur de domaine et de service, ou -RunTimeAccount pour les comptes de service gérés de groupe (gMSA).

    Paramètres de l’objet

    Paramètre Requis Description Exemple
    -subjectCommonName Oui Nom commun du certificat "localhost", "example.com"
    -subjectCountry Non Code de pays à deux lettres "US", "CA", "GB"
    -subjectState Non Département ou région "WA", "TX", "Ontario"
    -subjectOrg Non Nom de l’organisation "MyCompany", "ACME Corp"

    Warning

    La configuration SAN est essentielle pour la validation du certificat. Votre certificat doit correspondre exactement à la façon dont les clients se connectent à votre cache connecté, sinon les clients contournent le nœud de cache.

    Par exemple, si vos clients se connectent via une adresse 192.168.1.100 IP mais que votre certificat a -sanDns "server.local"uniquement , la validation du certificat échoue.

    Autres noms de l’objet (au moins un obligatoire)

    Paramètre Description Exemple
    -sanDns Noms DNS (séparés par des virgules) "localhost,example.com,api.example.com"
    -sanIp Adresses IP (séparées par des virgules) "127.0.0.1,192.168.1.100"
    -sanUri URI (séparés par des virgules) "https://example.com,http://localhost"
    -sanEmail adresses Email (séparées par des virgules) "admin@example.com,user@domain.com"
    -sanRid ID inscrits (séparés par des virgules)
    -sanDirName Noms de répertoires (séparés par des virgules)
    -sanOtherName Autres noms (séparés par des virgules)

    Pour plus de détails et des exemples basés sur des scénarios sur les paramètres de script CSR, consultez Référence HTTPS sur Windows

  3. Vérifiez que le processus de génération de csr s’est terminé avec succès.

    Si vous rencontrez des erreurs, recherchez le fichier horodaté GenerateCsr.log dans le dossier spécifié dans la sortie du script. Recherchez la ligne de sortie qui commence par « Vérifier les journaux pour obtenir des informations d’erreur détaillées : » Le répertoire se termine par (...\Certificates\logs).

    • Format de fichier : GenerateCsr_YYYYMMDD-HHMMSS.log
    • Exemple: GenerateCsr_20251201_143022.log est un fichier créé le 1er décembre 2025 à 14:30:22
  4. Localisez le fichier CSR généré dans votre dossier Certificats sur votre ordinateur hôte et transférez-le si nécessaire.

    L’emplacement du dossier Certificates est spécifié dans la sortie du script, en commençant par « Fichier CSR créé à : ... ». Le répertoire se termine par (...\Certificates\certs).

Signer la demande de signature de certificat

  1. Sélectionnez une autorité de certification pour signer la demande de signature de certificat.

    Important

    La signature de l’autorité de certification doit correspondre à un certificat racine dans le magasin racine approuvé du client.

    • Infrastructure À clé publique d’entreprise : la plupart des clients utilisent l’infrastructure PKI interne de leur organization pour signer la demande de signature de certificat. Vérifiez auprès de votre équipe informatique ou de sécurité le processus de votre organization pour soumettre une demande de signature de certificat à votre autorité de certification interne.

    • Autorité de certification publique : si vous n’avez pas d’infrastructure à clé publique d’entreprise, vous pouvez utiliser une autorité de certification publique. Les ressources suivantes peuvent vous aider à commencer :

  2. Envoyez la demande de signature de certificat à l’autorité de certification que vous avez choisie et enregistrez le certificat signé.

    Votre certificat signé doit être au format .crt avec encodage X.509. Si votre autorité de certification fournit d’autres formats, case activée la référence HTTPS sur Windows sur la façon de convertir au format .crt.

    Remarque

    Le cache connecté ne prend actuellement pas en charge les formats protégés par mot de passe (.pfx, .p12, .p7b). La prise en charge de ces fonctionnalités sera bientôt ajoutée dans le cadre de notre feuille de route d’automatisation des certificats.

  3. Vérifiez que le certificat signé est au format correct.

    Confirmer l’encodage PEM :

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

    Sortie réussie attendue :

    -----BEGIN CERTIFICATE-----
    
  4. Déplacez votre certificat signé vers le dossier Certificats sur votre ordinateur hôte Windows.

    Il s’agit du même dossier que celui où vous avez initialement trouvé votre demande de signature de certificat après sa génération : (...\Certificates\certs).

    Attention

    Ne partagez pas de clés privées, le cache connecté nécessite uniquement le certificat signé.

Importer un certificat TLS signé

  1. Ouvrez PowerShell en tant qu’administrateur et accédez au dossier Cache connecté qui contient ses scripts PowerShell.

  2. Configurez les paramètres pour importCert.ps1 et exécutez le script avec les valeurs spécifiées.

    Syntaxe de base

      .\importCert.ps1 [Required Parameters]
    

    Paramètres requis

    Paramètre Description
    -certName Nom de fichier complet de votre certificat TLS signé (avec ou sans extension .crt)
    -mccRunTimeAccount Compte qui exécute le logiciel Cache connecté. Il doit s’agir d’une variable PowerShell contenant le nom d’utilisateur du compte que vous avez l’intention de désigner comme compte d’exécution du cache connecté. Par exemple, $User = "LocalMachineName\Username" pour un compte d’utilisateur local. Si vous utilisez un compte de service administré de groupe (gMSA), il doit être au "Domain\Username$"format .
    -mccLocalAccountCredential Objet d’informations d’identification PowerShell pour le compte d’exécution du cache connecté. Cela n’est nécessaire que si vous utilisez un compte d’utilisateur local, un compte d’utilisateur de domaine ou un compte de service. Exemple : $myLocalAccountCredential = Get-Credential.

    Remarque

    Le -mccRunTimeAccount paramètre est disponible dans l’application Windows cache connecté v1.0.26.0 et versions ultérieures. Si vous utilisez l’application v1.0.24.0 antérieure, utilisez -RunTimeAccountName pour les comptes d’utilisateur local, d’utilisateur de domaine et de service, ou -RunTimeAccount pour les comptes de service gérés de groupe (gMSA).

    Remarque

    L’application Windows cache connecté v1.0.24.0 ne prend pas en charge l’exécution importCert.ps1 sur Windows Server 2022 ou Windows Server 2025 avec un compte d’exécution gMSA. Utilisez l’application v1.0.26.0 ou une version ultérieure pour exécuter ce script dans ces environnements.

    Exemple

      .\importCert.ps1 `
        -mccRunTimeAccount $myLocalAccountCredential.Username `
        -mccLocalAccountCredential $myLocalAccountCredential `
        -certName "myTlsCert.crt"
    
  3. Vérifiez que le processus d’importation s’est terminé avec succès.

    Si vous rencontrez des erreurs, recherchez le fichier horodaté ImportCert.log dans le dossier spécifié dans la sortie du script. Recherchez la ligne de sortie qui commence par « Vous pouvez trouver les journaux ici : ... »

    • Format de fichier : ImportCert_YYYYMMDD-HHMMSS.log
    • Exemple: ImportCert_20251201_143022.log est un fichier créé le 1er décembre 2025 à 14:30:22
  4. Vérifiez que le certificat correct a été importé en exécutant le ShowCertDetails.ps1 script.

    Remarque

    Le ShowCertDetails.ps1 script est disponible à partir de l’application de déploiement Windows v1.0.26.

    .\ShowCertDetails.ps1
    

    Ce script affiche l’empreinte numérique et la date d’expiration du certificat TLS actuellement importé dans le nœud de cache.

  5. Vérifiez que le cache connecté est accessible aux clients externes via le port 443.

    Remarque

    Vérifiez à nouveau que le port 443 est disponible avant de configurer le transfert de port : netstat -an | findstr :443

    Trafic vers le port 443

    Utilisez la commande suivante pour relier le trafic de votre ordinateur hôte Windows au conteneur de cache connecté :

     $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
    

    Cela configure un proxy de port afin que le trafic entrant sur le port 443 soit redirigé vers l’adresse IP interne du conteneur.

    Ouvrir le port 443 dans le pare-feu

    Même avec le transfert de port en place, le Pare-feu Windows peut bloquer le trafic entrant ou sortant sur le port 443. Utilisez les commandes suivantes pour vous assurer que le trafic HTTPS peut circuler librement vers et depuis votre cache connecté.

     [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")
    

Pour obtenir des instructions sur la façon de valider davantage l’importation de certificat, consultez la page de validation HTTPS sur Windows.

Désactiver la prise en charge de HTTPS

Si vous devez rétablir votre cache connecté à la communication HTTP uniquement, procédez comme suit. Ce processus ne supprime rien dans le dossier Certificats, y compris les fichiers CSR, les certificats et les journaux.

  1. Ouvrez PowerShell en tant qu’administrateur et accédez au dossier scripts PowerShell.

  2. Configurez les paramètres pour disableTls.ps1 et exécutez le script avec les valeurs spécifiées.

    Syntaxe de base

      .\disableTls.ps1 [Required Parameters]
    

    Paramètres requis

    Paramètre Description
    -mccRunTimeAccount Compte qui exécute le logiciel Cache connecté. Il doit s’agir d’une variable PowerShell contenant le nom d’utilisateur du compte que vous avez l’intention de désigner comme compte d’exécution du cache connecté. Par exemple, $User = "LocalMachineName\Username" pour un compte d’utilisateur local. Si vous utilisez un compte de service administré de groupe (gMSA), il doit être au "Domain\Username$"format .
    -mccLocalAccountCredential Objet d’informations d’identification PowerShell pour le compte d’exécution du cache connecté. Cela n’est nécessaire que si vous utilisez un compte d’utilisateur local, un compte d’utilisateur de domaine ou un compte de service. Exemple : $myLocalAccountCredential = Get-Credential.

    Remarque

    Le -mccRunTimeAccount paramètre est disponible dans l’application Windows cache connecté v1.0.26.0 et versions ultérieures. Si vous utilisez l’application v1.0.24.0 antérieure, utilisez -RunTimeAccountName pour les comptes d’utilisateur local, d’utilisateur de domaine et de service, ou -RunTimeAccount pour les comptes de service gérés de groupe (gMSA).

    Exemple

      .\disableTls.ps1 `
        -mccRunTimeAccount $myLocalAccountCredential.Username `
        -mccLocalAccountCredential $myLocalAccountCredential `
    
  3. Vérifiez que le processus de désactivation s’est terminé avec succès.

  4. Une fois le protocole HTTPS désactivé, les requêtes HTTP doivent fonctionner tandis que les requêtes HTTPS doivent échouer. Consultez la page de validation HTTPS sur Windows pour obtenir des instructions sur la façon de tester cela.

Étapes suivantes