Ativar o suporte HTTPS para a Cache Ligada da Microsoft no Windows

Este artigo fornece instruções para ativar o suporte HTTPS em nós Cache conectado da Microsoft para empresas e instituições de ensino em execução num computador anfitrião Windows.

O processo de configuração requer a geração de um Pedido de Assinatura de Certificado (CSR) no seu computador anfitrião, a assinatura do CSR através de PKI empresarial ou pública e, em seguida, a importação para o computador anfitrião.

Pré-requisitos

Antes de configurar a funcionalidade HTTPS, certifique-se de que os seguintes requisitos são cumpridos:

  • O nó de cache está na versão de software ga

    1. Abra portal do Azure e navegue para o recurso Cache Ligada para Empresas que aloja os nós de cache.
    2. Em Gestão de Nós de Cache, localize o nó de cache no qual pretende ativar HTTPS.
    3. Verifique se o nó está na versão de DISPONIBILIDADE – deve mostrar "Sim" ou "N/D" na coluna Migrado .
    4. Se não estiver na versão ga ("Não" na coluna Migrado ), selecione o nó de cache, navegue para o separador Implementação e siga as instruções para reimplementar a Cache Ligada.
  • Acesso a uma Autoridade de Certificação (AC)

    Precisará de acesso à sua PKI empresarial ou a uma AC pública. Se utilizar a PKI empresarial, marcar os requisitos da sua organização para submeter um CSR à AC.

  • Documentar métodos de ligação de cliente

    Tenha em atenção o endereço IP ou o nome do anfitrião (FQDN) que os seus clientes utilizam para ligar ao servidor de Cache Ligada. Este valor será utilizado como uma entrada de Nome Alternativo do Requerente (SAN) durante o processo de geração de um CSR.

  • Garantir a disponibilidade da porta 443

    Para estabelecer uma ligação HTTPS com a Cache Ligada, a porta 443 tem de estar disponível no computador anfitrião. Execute o seguinte comando para marcar:

    netstat -an | findstr :443
    

    Reveja o resultado:

    • Sem saída — a porta 443 não está a ser utilizada. Prossiga com a configuração de HTTPS.
    • O resultado contém LISTENING (por exemplo, TCP 0.0.0.0:443 0.0.0.0:0 LISTENING) — A porta 443 está aberta e a escutar ligações de entrada. Prossiga com a configuração de HTTPS.
    • O resultado contém ESTABLISHED (por exemplo, TCP 192.168.1.10:443 10.0.0.5:52674 ESTABLISHED) — A porta 443 está a ser utilizada ativamente por outro serviço. Identifique e pare o serviço em conflito antes de a Cache Ligada poder utilizar a porta 443.

    Dica

    Para identificar um serviço com a porta 443, execute netstat -ano | findstr :443 para localizar o ID do processo (PID) na última coluna. Em seguida, execute tasklist /fi "pid eq <PID>" (substituindo <PID> pelo número real) para ver o nome do processo. Os serviços comuns que utilizam a porta 443 incluem IIS, outros servidores Web e software VPN. Pare ou reconfigure o serviço em conflito antes de continuar.

  • Verificar a configuração do proxy empresarial

    Se a firewall ou o proxy empresarial intercetar o tráfego HTTPS para o servidor de Cache Ligada (por exemplo, através da inspeção TLS), a validação do certificado falhará sempre independentemente da configuração do certificado.

Para obter mais informações sobre qualquer um dos pré-requisitos, consulte a página de referência HTTPS no Windows.

Gerar um Pedido de Assinatura de Certificado (CSR)

Importante

Cada nó de cache precisa do seu próprio CSR/certificado (não pode partilhar):

  • Utilize nomes consistentes: mcc-node1.company.com, mcc-node2.company.com, etc.
  • Documentar que certificado pertence a que nó
  • Os certificados de caráter universal não funcionarão. O CSR/certificado utilizado para a ligação HTTPS à Cache Ligada está exclusivamente associado a cada nó de cache para fins de segurança.
  1. Abra o PowerShell como Administrador e navegue para a pasta Cache Ligada que contém os respetivos scripts do PowerShell.

    Execute o seguinte comando para navegar para esta pasta de scripts da Cache Ligada:

       cd (deliveryoptimization-cli mcc-get-scripts-path)
    
  2. Configure os parâmetros para generateCsr.ps1 e execute o script com os valores especificados.

    Sintaxe básica

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

    Parâmetros Necessários

    Parâmetro Descrição
    -algo Algoritmo de certificado: RSA, , ECED25519ouED448
    -keySizeOrCurve Para RSA: tamanho da chave (2048, 3072, 4096). Para EC: nome da curva (prime256v1, secp384r1). Para ED25519 e ED448: não é necessário um tamanho de chave.
    -csrName Nome pretendido para o ficheiro CSR
    -mccRunTimeAccount A conta que executa o software de Cache Ligada. Esta deve ser uma variável do PowerShell que contém o nome de utilizador da conta que pretende designar como a conta de runtime da Cache Ligada. Por exemplo, $User = "LocalMachineName\Username" para uma conta de utilizador local. Se estiver a utilizar uma Conta de Serviço Gerida de Grupo (gMSA), esta deverá ser formatada como "Domain\Username$".
    -mccLocalAccountCredential Um objeto de credencial do PowerShell para a conta de runtime da Cache Ligada. Isto só é necessário se estiver a utilizar uma conta de utilizador local, uma conta de utilizador de domínio ou uma conta de serviço. O comando $myLocalAccountCredential = Get-Credential pode ser utilizado para colocar em fila a GUI de obtenção de credenciais.

    Observação

    O -mccRunTimeAccount parâmetro está disponível na aplicação Windows de Cache Ligada v1.0.26.0 e posterior. Se estiver a utilizar a aplicação v1.0.24.0 anterior, utilize -RunTimeAccountName para contas de utilizador local, utilizador de domínio e serviço ou -RunTimeAccount para Contas de Serviço Geridas de Grupo (gMSA).

    Parâmetros do Requerente

    Parâmetro Obrigatório Descrição Exemplo
    -subjectCommonName Sim Nome comum do certificado "localhost", "example.com"
    -subjectCountry Não Código de país de duas letras "US", "CA", "GB"
    -subjectState Não Estado ou província "WA", "TX", "Ontario"
    -subjectOrg Não Nome da organização "MyCompany", "ACME Corp"

    Aviso

    A configuração san é fundamental para a validação de certificados. O certificado tem de corresponder exatamente à forma como os clientes se ligam à Cache Ligada, caso contrário, os clientes ignoram o nó de cache.

    Por exemplo, se os seus clientes se ligarem através do endereço 192.168.1.100 IP, mas o certificado tiver apenas -sanDns "server.local", a validação do certificado falhará.

    Nomes Alternativos do Requerente (pelo menos um necessário)

    Parâmetro Descrição Exemplo
    -sanDns Nomes DNS (separados por vírgulas) "localhost,example.com,api.example.com"
    -sanIp Endereços IP (separados por vírgulas) "127.0.0.1,192.168.1.100"
    -sanUri URIs (separados por vírgulas) "https://example.com,http://localhost"
    -sanEmail Email endereços (separados por vírgulas) "admin@example.com,user@domain.com"
    -sanRid IDs registados (separados por vírgulas)
    -sanDirName Nomes de diretórios (separados por vírgulas)
    -sanOtherName Outros nomes (separados por vírgulas)

    Para obter mais detalhes e exemplos baseados em cenários em parâmetros de script CSR, veja HTTPS na referência do Windows

  3. Confirme que o processo de geração de CSR foi concluído com êxito.

    Se encontrar erros, localize o ficheiro com carimbo GenerateCsr.log de data/hora na pasta especificada na saída do script. Procure a linha de saída que começa com "Verificar registos para obter informações detalhadas sobre erros:" O diretório termina com (...\Certificados\registos).

    • Formato de ficheiro: GenerateCsr_YYYYMMDD-HHMMSS.log
    • Exemplo: GenerateCsr_20251201_143022.log é um ficheiro criado a 1 de dezembro de 2025 às 14:30:22
  4. Localize o ficheiro CSR gerado na pasta Certificados no computador anfitrião e, se necessário, transfira-o

    A localização da pasta Certificados é especificada na saída do script, começando com "Ficheiro CSR criado em: ...". O diretório termina com (...\Certificates\certs).

Assinar o CSR

  1. Selecione uma Autoridade de Certificação (AC) para assinar o CSR.

    Importante

    A assinatura da AC tem de corresponder a um certificado de raiz no arquivo de raiz fidedigna do cliente.

    • PKI Empresarial: a maioria dos clientes utiliza a infraestrutura PKI interna da organização para assinar o CSR. Contacte a equipa de TI ou de segurança sobre o processo da sua organização para submeter um CSR à sua AC interna.

    • AC pública: se não tiver um PKI empresarial, pode utilizar uma AC pública. Os seguintes recursos podem ajudá-lo a começar:

  2. Submeta o CSR para a AC escolhida e guarde o certificado assinado.

    O certificado assinado tem de estar no formato .crt com codificação X.509. Se a AC fornecer outros formatos, marcar a referência HTTPS no Windows sobre como converter para o formato .crt.

    Observação

    Atualmente, a Cache Ligada não suporta formatos protegidos por palavra-passe (.pfx, .p12, .p7b). O suporte será adicionado assim que fizer parte do nosso mapa de automatização de certificados.

  3. Verifique se o certificado assinado está no formato correto.

    Confirme a codificação PEM:

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

    Resultado esperado com êxito:

    -----BEGIN CERTIFICATE-----
    
  4. Mova o certificado assinado para a pasta Certificados no seu computador anfitrião Windows.

    Esta será a mesma pasta onde encontrou inicialmente o CSR depois de este ter sido gerado: (...\Certificates\certs).

    Cuidado

    Não partilhe chaves privadas, a Cache Ligada só requer o certificado assinado.

Importar certificado TLS assinado

  1. Abra o PowerShell como Administrador e navegue para a pasta Cache Ligada que contém os respetivos scripts do PowerShell.

  2. Configure os parâmetros para importCert.ps1 e execute o script com os valores especificados.

    Sintaxe básica

      .\importCert.ps1 [Required Parameters]
    

    Parâmetros Necessários

    Parâmetro Descrição
    -certName Nome de ficheiro completo do certificado TLS assinado (com ou sem extensão .crt)
    -mccRunTimeAccount A conta que executa o software de Cache Ligada. Esta deve ser uma variável do PowerShell que contém o nome de utilizador da conta que pretende designar como a conta de runtime da Cache Ligada. Por exemplo, $User = "LocalMachineName\Username" para uma conta de utilizador local. Se estiver a utilizar uma Conta de Serviço Gerida de Grupo (gMSA), esta deverá ser formatada como "Domain\Username$".
    -mccLocalAccountCredential Um objeto de credencial do PowerShell para a conta de runtime da Cache Ligada. Isto só é necessário se estiver a utilizar uma conta de utilizador local, uma conta de utilizador de domínio ou uma conta de serviço. Por exemplo, $myLocalAccountCredential = Get-Credential.

    Observação

    O -mccRunTimeAccount parâmetro está disponível na aplicação Windows de Cache Ligada v1.0.26.0 e posterior. Se estiver a utilizar a aplicação v1.0.24.0 anterior, utilize -RunTimeAccountName para contas de utilizador local, utilizador de domínio e serviço ou -RunTimeAccount para Contas de Serviço Geridas de Grupo (gMSA).

    Observação

    A aplicação Windows de Cache Ligada v1.0.24.0 não suporta a execução importCert.ps1 no Windows Server 2022 ou Windows Server 2025 com uma conta de runtime gMSA. Utilize a aplicação v1.0.26.0 ou posterior para executar este script nesses ambientes.

    Exemplo

      .\importCert.ps1 `
        -mccRunTimeAccount $myLocalAccountCredential.Username `
        -mccLocalAccountCredential $myLocalAccountCredential `
        -certName "myTlsCert.crt"
    
  3. Confirme que o processo de importação foi concluído com êxito.

    Se encontrar erros, localize o ficheiro com carimbo ImportCert.log de data/hora na pasta especificada na saída do script. Procure a linha de saída que começa com "Pode encontrar registos aqui: ..."

    • Formato de ficheiro: ImportCert_YYYYMMDD-HHMMSS.log
    • Exemplo: ImportCert_20251201_143022.log é um ficheiro criado a 1 de dezembro de 2025 às 14:30:22
  4. Verifique se o certificado correto foi importado ao executar o ShowCertDetails.ps1 script.

    Observação

    O ShowCertDetails.ps1 script está disponível a partir da aplicação de implementação do Windows v1.0.26.

    .\ShowCertDetails.ps1
    

    Este script apresenta o thumbprint do certificado e a data de expiração do certificado TLS atualmente importado para o nó de cache.

  5. Certifique-se de que a Cache Ligada está acessível a clientes externos através da porta 443.

    Observação

    Verifique novamente se a porta 443 está disponível antes de configurar o reencaminhamento de portas: netstat -an | findstr :443

    Reencaminhar Tráfego da Porta 443

    Utilize o seguinte comando para fazer a ponte entre o tráfego do computador anfitrião do Windows e o contentor da Cache Ligada:

     $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
    

    Esta ação configura um proxy de porta para que o tráfego de entrada na porta 443 seja redirecionado para o IP interno do contentor.

    Abrir a Porta 443 na Firewall

    Mesmo com o reencaminhamento de portas implementado, a Firewall do Windows pode bloquear o tráfego de entrada ou saída na porta 443. Utilize os seguintes comandos para garantir que o tráfego HTTPS pode fluir livremente de e para a Cache Ligada.

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

Para obter instruções sobre como validar ainda mais a importação do certificado, consulte a página HTTPS na validação do Windows.

Desativar o suporte https

Se precisar de reverter a sua Cache Ligada à comunicação apenas HTTP, siga estes passos. Este processo não elimina nada na pasta Certificados, incluindo ficheiros CSR, certificados e registos.

  1. Abra o PowerShell como Administrador e navegue para a pasta scripts do PowerShell.

  2. Configure os parâmetros para disableTls.ps1 e execute o script com os valores especificados.

    Sintaxe básica

      .\disableTls.ps1 [Required Parameters]
    

    Parâmetros Necessários

    Parâmetro Descrição
    -mccRunTimeAccount A conta que executa o software de Cache Ligada. Esta deve ser uma variável do PowerShell que contém o nome de utilizador da conta que pretende designar como a conta de runtime da Cache Ligada. Por exemplo, $User = "LocalMachineName\Username" para uma conta de utilizador local. Se estiver a utilizar uma Conta de Serviço Gerida de Grupo (gMSA), esta deverá ser formatada como "Domain\Username$".
    -mccLocalAccountCredential Um objeto de credencial do PowerShell para a conta de runtime da Cache Ligada. Isto só é necessário se estiver a utilizar uma conta de utilizador local, uma conta de utilizador de domínio ou uma conta de serviço. Por exemplo, $myLocalAccountCredential = Get-Credential.

    Observação

    O -mccRunTimeAccount parâmetro está disponível na aplicação Windows de Cache Ligada v1.0.26.0 e posterior. Se estiver a utilizar a aplicação v1.0.24.0 anterior, utilize -RunTimeAccountName para contas de utilizador local, utilizador de domínio e serviço ou -RunTimeAccount para Contas de Serviço Geridas de Grupo (gMSA).

    Exemplo

      .\disableTls.ps1 `
        -mccRunTimeAccount $myLocalAccountCredential.Username `
        -mccLocalAccountCredential $myLocalAccountCredential `
    
  3. Confirme que o processo de desativação foi concluído com êxito.

  4. Depois de o HTTPS ser desativado, os pedidos HTTP devem funcionar enquanto os pedidos HTTPS devem falhar. Consulte a página HTTPS na validação do Windows para obter instruções sobre como testar isto.

Próximas etapas