Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporcionan instrucciones para habilitar la compatibilidad con HTTPS en los nodos de Microsoft Connected Cache for Enterprise y Education que se ejecutan en una máquina host de Windows.
El proceso de instalación requiere generar una solicitud de firma de certificado (CSR) en el equipo host, firmar la CSR mediante PKI pública o empresarial y, a continuación, importar de nuevo a la máquina host.
Requisitos previos
Antes de configurar la funcionalidad HTTPS, asegúrese de que se cumplen los siguientes requisitos:
El nodo de caché está en la versión de software de disponibilidad general
- Abra Azure Portal y vaya al recurso Caché conectada para empresas que hospeda los nodos de caché.
- En Administración de nodos de caché, busque el nodo de caché en el que desea habilitar HTTPS.
- Compruebe que el nodo está en la versión de disponibilidad general: debe mostrar "Sí" o "N/A" en la columna Migrada .
- Si no está en la versión de disponibilidad general ("No" en la columna Migrado ), seleccione el nodo de caché, vaya a la pestaña Implementación y siga las instrucciones para volver a implementar la caché conectada.
Acceso a una entidad de certificación (CA)
Necesitará acceso a la PKI empresarial o a una CA pública. Si usa PKI empresarial, compruebe los requisitos de su organización para enviar una CSR a la CA.
Métodos de conexión de cliente de documentos
Tenga en cuenta la dirección IP o el nombre de host (FQDN) que usan los clientes para conectarse al servidor de caché conectada. Este valor se usará como entrada de nombre alternativo de firmante (SAN) durante el proceso de generación de una CSR.
Garantizar la disponibilidad del puerto 443
Para establecer una conexión HTTPS con la caché conectada, el puerto 443 debe estar disponible en el equipo host. Ejecute el siguiente comando para comprobar:
netstat -an | findstr :443Ejemplo de salida Significado ESCUCHA DE TCP 0.0.0.0:443 0.0.0.0:0 El puerto 443 está abierto y escucha las conexiones entrantes. Continúe con la configuración de HTTPS. Sin salida El puerto 443 no está en uso o no está escuchando. Continúe con la configuración de HTTPS. TCP [su IP]:443 [DIRECCIÓN IP remota]:[puerto] ESTABLECIDO El puerto 443 se usa activamente en una conexión. Debe detener el servicio en conflicto antes de que la caché conectada pueda usar el puerto 443. Comprobación de la configuración del proxy corporativo
Si el firewall o el proxy corporativo interceptan el tráfico HTTPS al servidor de caché conectada (por ejemplo, mediante la inspección tls), la validación de certificados siempre producirá un error independientemente de la configuración del certificado.
Para obtener más información sobre cualquiera de los requisitos previos, consulte la página de referencia HTTPS en Windows.
Generación de una solicitud de firma de certificado (CSR)
Importante
Cada nodo de caché necesita su propio certificado o CSR (no se puede compartir):
- Use nombres coherentes: mcc-node1.company.com, mcc-node2.company.com, etc.
- Documente qué certificado pertenece a qué nodo
- Los certificados comodín no funcionarán. El certificado o CSR que se usa para la conexión HTTPS a la caché conectada está vinculado de forma única a cada nodo de caché por motivos de seguridad.
Abra PowerShell como administrador y vaya a la carpeta Caché conectada que contiene sus scripts de PowerShell.
Ejecute el siguiente comando para ir a esta carpeta de scripts de caché conectada:
cd (deliveryoptimization-cli mcc-get-scripts-path)Configure los parámetros para
generateCsr.ps1y ejecute el script con los valores especificados.Sintaxis básica
.\generateCsr.ps1 [Required Parameters] [Subject Parameters] [SAN Parameters]Parámetros necesarios
Parámetro Descripción -algoAlgoritmo de certificado: RSA,EC,ED25519oED448-keySizeOrCurvePara RSA: tamaño de clave ( 2048,3072,4096). Para EC: nombre de curva (prime256v1,secp384r1). Para ED25519 y ED448: no se necesita ningún tamaño de clave.-csrNameNombre deseado para el archivo CSR -RunTimeAccountNameCuenta que ejecuta el software de caché conectada. Debe ser una variable de PowerShell que contenga el nombre de usuario de la cuenta que quiere designar como cuenta en tiempo de ejecución de caché conectada. Por ejemplo, $User = "LocalMachineName\Username"para una cuenta de usuario local. Si usa una cuenta de servicio administrada de grupo (gMSA), debe tener el formato"Domain\Username$".-mccLocalAccountCredentialUn objeto de credencial de PowerShell para la cuenta en tiempo de ejecución de caché conectada. Esto solo es necesario si usa una cuenta de usuario local, una cuenta de usuario de dominio o una cuenta de servicio. El comando $myLocalAccountCredential = Get-Credentialse puede usar para poner en cola la GUI de recuperación de credenciales.Nota
Si usa una cuenta en tiempo de ejecución de gMSA, use el parámetro
-RunTimeAccounten lugar de-RunTimeAccountName.Esta discrepancia se corregirá en la próxima versión del instalador de Windows.
Parámetros del asunto
Parámetro Obligatorio Descripción Ejemplo -subjectCommonNameSí Nombre común del certificado "localhost","example.com"-subjectCountryNo Código de país de dos letras "US","CA","GB"-subjectStateNo Estado o provincia "WA","TX","Ontario"-subjectOrgNo Nombre de la organización "MyCompany","ACME Corp"Advertencia
La configuración de SAN es fundamental para la validación de certificados. El certificado debe coincidir exactamente con la forma en que los clientes se conectan a la caché conectada; de lo contrario, los clientes omiten el nodo de caché.
Por ejemplo, si los clientes se conectan a través de la dirección
192.168.1.100IP pero el certificado solo tiene-sanDns "server.local", se produce un error en la validación del certificado.Nombres alternativos del firmante (se requiere al menos uno)
Parámetro Descripción Ejemplo -sanDnsNombres DNS (separados por comas) "localhost,example.com,api.example.com"-sanIpDirecciones IP (separadas por comas) "127.0.0.1,192.168.1.100"-sanUriURI (separados por comas) "https://example.com,http://localhost"-sanEmaildirecciones Email (separadas por comas) "admin@example.com,user@domain.com"-sanRidIdentificadores registrados (separados por comas) -sanDirNameNombres de directorio (separados por comas) -sanOtherNameOtros nombres (separados por comas) Para obtener más detalles y ejemplos basados en escenarios en los parámetros de script CSR, consulte REFERENCIA DE HTTPS en Windows.
Valide que el proceso de generación de CSR se completó correctamente.
Si encuentra errores, busque el archivo con
GenerateCsr.logmarca de tiempo en la carpeta especificada en la salida del script. Busque la línea de salida que comienza por "Comprobar registros para obtener información detallada del error:" El directorio termina con (...\Certificates\logs).- Formato de archivo: GenerateCsr_YYYYMMDD-HHMMSS.log
- Ejemplo: GenerateCsr_20251201_143022.log es un archivo creado el 1 de diciembre de 2025 a las 2:30:22 p.m.
Busque el archivo CSR generado en la carpeta Certificados en el equipo host y transfiéralo si es necesario.
La ubicación de la carpeta Certificados se especifica en la salida del script, empezando por "Archivo CSR creado en: ...". El directorio termina con (...\Certificates\certs).
Firma de la CSR
Seleccione una entidad de certificación (CA) pública o empresarial para firmar la CSR.
Importante
La firma de ca debe coincidir con un certificado raíz en el almacén raíz de confianza del cliente.
La mayoría de los clientes usan su infraestructura PKI empresarial para firmar su CSR. Si necesita usar una entidad de certificación pública, tenga en cuenta estos recursos:
- DigiCert Certificate Utility
- Vamos a cifrar el proceso de CSR
- PKI en la nube con Intune - Useful para escenarios empresariales que ya usan Intune.
Envíe la CSR a la entidad de certificación elegida y guarde el certificado firmado.
El certificado firmado debe estar en formato .crt con codificación X.509. Si la entidad de certificación proporciona otros formatos, compruebe la referencia HTTPS en Windows sobre cómo convertir al formato .crt.
Nota
La caché conectada no admite actualmente formatos protegidos con contraseña (.pfx, .p12, .p7b). La compatibilidad con estos se agregará pronto como parte de nuestra hoja de ruta de automatización de certificados.
Compruebe que el certificado firmado tiene el formato correcto.
Confirmar codificación PEM:
Get-Content "xxxx.crt" | Select-String "BEGIN CERTIFICATE"Salida correcta esperada:
-----BEGIN CERTIFICATE-----Mueva el certificado firmado a la carpeta Certificados de la máquina host de Windows.
Esta será la misma carpeta donde encontró inicialmente la CSR después de generarla: (...\Certificates\certs).
Precaución
No comparta claves privadas, la caché conectada solo requiere el certificado firmado.
Importación de un certificado TLS firmado
Nota
El importCert script no admite actualmente:
- Almacene en caché los nodos que se ejecutan en Windows Server 2022 o Windows Server 2025 con una cuenta en tiempo de ejecución de gMSA.
- El parámetro
-RunTimeAccountNamecuando se usa gMSA en versiones compatibles de Windows (use-RunTimeAccounten su lugar).
Ambos problemas se resolverán en la próxima versión del instalador de Windows.
Abra PowerShell como administrador y vaya a la carpeta Caché conectada que contiene sus scripts de PowerShell.
Configure los parámetros para
importCert.ps1y ejecute el script con los valores especificados.Sintaxis básica
.\importCert.ps1 [Required Parameters]Parámetros necesarios
Parámetro Descripción -certNameNombre de archivo completo del certificado TLS firmado (con o sin extensión .crt) -RunTimeAccountNameCuenta que ejecuta el software de caché conectada. Debe ser una variable de PowerShell que contenga el nombre de usuario de la cuenta que quiere designar como cuenta en tiempo de ejecución de caché conectada. Por ejemplo, $User = "LocalMachineName\Username"para una cuenta de usuario local. Si usa una cuenta de servicio administrada de grupo (gMSA), debe tener el formato"Domain\Username$".-mccLocalAccountCredentialUn objeto de credencial de PowerShell para la cuenta en tiempo de ejecución de caché conectada. Esto solo es necesario si usa una cuenta de usuario local, una cuenta de usuario de dominio o una cuenta de servicio. Por ejemplo, $myLocalAccountCredential = Get-Credential.Ejemplo
.\importCert.ps1 ` -RunTimeAccountName $myLocalAccountCredential.Username ` -LocalAccountCredential $myLocalAccountCredential ` -certName "myTlsCert.crt"Compruebe que el proceso de importación se completó correctamente.
Si encuentra errores, busque el archivo con
ImportCert.logmarca de tiempo en la carpeta especificada en la salida del script. Busque la línea de salida que comienza con "Puede encontrar registros aquí: ..."- Formato de archivo: ImportCert_YYYYMMDD-HHMMSS.log
- Ejemplo: ImportCert_20251201_143022.log es un archivo creado el 1 de diciembre de 2025 a las 2:30:22 PM
Asegúrese de que la caché conectada es accesible para los clientes externos a través del puerto 443.
Nota
Compruebe de nuevo que el puerto 443 está disponible antes de configurar el reenvío de puertos:
netstat -an | findstr :443Reenvío del tráfico del puerto 443
Use el siguiente comando para puentear el tráfico desde el equipo host de Windows al contenedor de caché conectada:
$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=$ipAddressEsto configura un proxy de puerto para que el tráfico entrante en el puerto 443 se redirija a la dirección IP interna del contenedor.
Abra el puerto 443 en el firewall.
Incluso con el reenvío de puertos, Firewall de Windows podría bloquear el tráfico entrante o saliente en el puerto 443. Use los siguientes comandos para asegurarse de que el tráfico HTTPS puede fluir libremente hacia y desde la caché conectada.
[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 obtener instrucciones sobre cómo validar aún más la importación de certificados, consulte la página HTTPS en validación de Windows.
Deshabilitación de la compatibilidad con HTTPS
Si necesita revertir la memoria caché conectada a la comunicación solo HTTP, siga estos pasos. Este proceso no eliminará nada de la carpeta Certificados, incluidos los archivos CSR, los certificados y los registros.
Abra PowerShell como administrador y vaya a la carpeta de scripts de PowerShell.
Configure los parámetros para
disableTls.ps1y ejecute el script con los valores sepcificados.Sintaxis básica
.\disableTls.ps1 [Required Parameters]Parámetros necesarios
Parámetro Descripción -RunTimeAccountNameCuenta que ejecuta el software de caché conectada. Debe ser una variable de PowerShell que contenga el nombre de usuario de la cuenta que quiere designar como cuenta en tiempo de ejecución de caché conectada. Por ejemplo, $User = "LocalMachineName\Username"para una cuenta de usuario local. Si usa una cuenta de servicio administrada de grupo (gMSA), debe tener el formato"Domain\Username$".-mccLocalAccountCredentialUn objeto de credencial de PowerShell para la cuenta en tiempo de ejecución de caché conectada. Esto solo es necesario si usa una cuenta de usuario local, una cuenta de usuario de dominio o una cuenta de servicio. Por ejemplo, $myLocalAccountCredential = Get-Credential.Nota
Si usa gMSA, use el parámetro
-RunTimeAccounten lugar de-RunTimeAccountName. Esta discrepancia se corregirá en los scripts pronto.Ejemplo
.\disableTls.ps1 ` -RunTimeAccountName $myLocalAccountCredential.Username ` -LocalAccountCredential $myLocalAccountCredential `Compruebe que el proceso de deshabilitación se completó correctamente.
Después de deshabilitar HTTPS, las solicitudes HTTP deben funcionar mientras que las solicitudes HTTPS deben producir un error. Consulte la página HTTPS en validación de Windows para obtener instrucciones sobre cómo probar esto.