Asignación de un dominio personalizado existente a Azure Spring Apps
Nota:
Los planes Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retirada de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.
El plan Estándar por consumo y dedicado quedará obsoleto a partir del 30 de septiembre de 2024, con un cierre completo al cabo de seis meses. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte Migrar el plan Estándar por consumo y dedicado de Azure Spring Apps a Azure Container Apps.
Este artículo se aplica a: ✔️ Java ✔️ C#
La información de este artículo puede ponerse en práctica en:✔️ Estándar ✔️ Enterprise
El servicio de nombres de dominio (DNS) es una técnica para almacenar nombres de nodos de red en toda una red. En este artículo se asigna un dominio (como www.contoso.com
) mediante un registro CNAME. El dominio personalizado se protege con un certificado y se muestra cómo aplicar Seguridad de la capa de transporte (TLS), también conocida como Capa de sockets seguros (SSL).
El tráfico web se cifra mediante certificados. Estos certificados TLS/SSL se pueden almacenar en Azure Key Vault.
Prerrequisitos
- Suscripción a Azure. Si no tiene una suscripción, cree una cuenta gratuita antes de empezar.
- (Opcional) CLI de Azure, versión 2.45.0 o posterior. Use el comando siguiente para instalar la extensión de Azure Spring Apps:
az extension add --name spring
- Una aplicación implementada en Azure Spring Apps(consulte Inicio rápido: Inicio de una aplicación existente en Azure Spring Apps mediante Azure Portal o use una aplicación existente). Si la aplicación se implementa con el plan Básico, asegúrese de actualizar al plan Estándar.
- Un nombre de dominio con acceso al registro DNS para un proveedor de dominios, como GoDaddy.
- Un certificado privado (es decir, el certificado autofirmado) de un proveedor de terceros. El certificado debe coincidir con el dominio.
- Una instancia implementada de Azure Key Vault. Para obtener más información, consulte Acerca de Azure Key Vault.
Consideraciones de vínculo privado de Key Vault
Las direcciones IP para la administración de Azure Spring Apps aún no forman parte de los servicios de confianza de Microsoft para Azure. Por lo tanto, para permitir que Azure Spring Apps cargue certificados desde un almacén de claves protegido con conexiones de punto de conexión privadas, debe añadir las siguientes direcciones IP al firewall de Azure Key Vault:
20.99.204.111
20.201.9.97
20.74.97.5
52.235.25.35
20.194.10.0
20.59.204.46
104.214.186.86
52.153.221.222
52.160.137.39
20.39.142.56
20.199.190.222
20.79.64.6
20.211.128.96
52.149.104.144
20.197.121.209
40.119.175.77
20.108.108.22
102.133.143.38
52.226.244.150
20.84.171.169
20.93.48.108
20.75.4.46
20.78.29.213
20.106.86.34
20.193.151.132
Importación de certificado
Preparación del archivo de certificado en PFX (opcional)
Azure Key Vault admite la importación de certificados privados en formato PEM y PFX. Si el archivo PEM que ha obtenido del proveedor de certificados no funciona en la sección Guardado del certificado en Key Vault, siga los pasos que se indican a continuación para generar un archivo PFX para Azure Key Vault.
Combinación de certificados intermedios
Si la entidad emisora de certificados ofrece varios certificados en la cadena de certificados, debe combinar los certificados en orden.
Para realizar esta tarea, abra cada certificado recibido en un editor de texto.
Cree un archivo para el certificado combinado, denominado mergedcertificate.crt. En un editor de texto, copie el contenido de cada certificado en este archivo. Los certificados deben seguir el orden de la cadena de certificados, comenzando por el certificado y terminando por el certificado raíz. Debe ser similar al ejemplo siguiente:
-----BEGIN CERTIFICATE-----
<your entire Base64 encoded SSL certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 1>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 2>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded root certificate>
-----END CERTIFICATE-----
Exportar el certificado a PFX
Exporte el certificado TLS/SSL personalizado con la clave privada que utilizó para generar la solicitud de certificado.
Si la solicitud de certificado se genera con OpenSSL, se crea un archivo de clave privada. Para exportar el certificado a PFX, ejecute el comando siguiente: Reemplace los marcadores de posición <private-key-file> y <merged-certificate-file> por la ruta a la clave privada y al archivo de certificado combinado.
openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>
Cuando se le pida, defina una contraseña de exportación. Use esta contraseña cuando posteriormente cargue el certificado TLS/SSL en Azure Key Vault.
Si usó IIS o Certreq.exe para generar la solicitud de certificado, instale el certificado en la máquina local y luego exporte el certificado a PFX.
Guardado del certificado en Key Vault
Para importar un certificado, es necesario que el archivo codificado PEM o PFX esté en el disco y se debe tener la clave privada.
Siga estos pasos para cargar el certificado en el almacén de claves:
Vaya a la instancia de Key Vault.
En el panel de navegación, seleccione Certificados.
En el menú superior, haga clic en Generar o importar.
En la página Crear un certificado, seleccione Importar para Método de creación de certificados y, a continuación, proporcione un valor para Nombre de certificado.
En Cargar archivo de certificado, vaya a la ubicación del certificado y selecciónela.
En Contraseña, si va a cargar un archivo de certificado protegido mediante contraseña, especifíquela aquí. De lo contrario, déjelo en blanco. Una vez que el archivo de certificado se haya importado correctamente, el almacén de claves quita esa contraseña.
Seleccione Crear.
Concesión de acceso al almacén de claves a Azure Spring Apps
Debe conceder acceso a su almacén de claves a Azure Spring Apps antes de importar el certificado.
Siga estos pasos para conceder acceso mediante Azure Portal:
Vaya a la instancia de Key Vault.
En el panel de navegación, seleccione Directivas de acceso.
En el menú superior, seleccione Crear.
Rellene la información, seleccione el botón Agregar y, a continuación, cree la directiva de acceso.
Permiso de secreto Permiso de certificado Selección de la entidad de seguridad Get, List Get, List Administración de dominios en Azure Spring Apps Nota
Si no encuentra "Administración de dominios de Azure Spring Apps", busque "Administración de dominios de Azure Spring Cloud".
Importación del certificado en Azure Spring Apps
Siga estos pasos para importar un certificado:
Vaya a la instancia de Azure Spring Apps.
En el panel de navegación seleccione TLS/SSL settings (Configuración de TLS/SSL).
Seleccione Importar certificado de Key Vault.
En la página Seleccionar certificado de Azure, seleccione Suscripción, Key Vault y Certificado en las opciones desplegables y, a continuación, elija Seleccionar.
En la página abierta Establecer nombre de certificado, escriba el nombre del certificado, seleccione Habilitar sincronización automática si es necesario y, a continuación, seleccione Aplicar. Para obtener más información, consulte la sección Certificado de sincronización automática.
Cuando haya importado correctamente el certificado, se muestra en la lista Private Key Certificates (Certificados de clave privada).
Importante
Para proteger un dominio personalizado con este certificado, asegúrese de enlazar el certificado al dominio específico. Para obtener más información, consulte la sección Agregar enlace SSL.
Certificado de sincronización automática
A veces, un certificado almacenado en Azure Key Vault se renueva antes de que expire. Del mismo modo, las directivas de seguridad de la organización para la administración de certificados pueden requerir que el equipo de DevOps reemplace los certificados por otros nuevos con regularidad. Después de habilitar la sincronización automática para un certificado, Azure Spring Apps comienza a sincronizar el almacén de claves para una nueva versión periódicamente, normalmente cada 24 horas. Si hay disponible una nueva versión, Azure Spring Apps la importa y, a continuación, la vuelve a cargar para varios componentes mediante el certificado sin provocar ningún tiempo de inactividad. En la lista siguiente se muestran los componentes afectados y los escenarios pertinentes:
- Aplicación
- Dominio personalizado
- Spring Cloud Gateway para VMware
- Dominio personalizado
- Portal de API para VMware Tanzu
- Dominio personalizado
- Acelerador de aplicaciones para VMware Tanzu
- Conexión a un repositorio de Git con un certificado autofirmado.
- Servicio de configuración de aplicaciones para Tanzu
- Conexión a un repositorio de Git con un certificado autofirmado.
Cuando Azure Spring Apps importa o vuelve a cargar un certificado, se genera un registro de actividad. Para ver los registros de actividad, vaya a la instancia de Azure Spring Apps en Azure Portal y seleccione registro de actividad en el panel de navegación.
Nota:
La característica de sincronización automática de los certificados funciona con certificados privados y certificados públicos importados desde Azure Key Vault. Esta característica no está disponible para los certificados de contenido que carga el cliente.
Puede habilitar o deshabilitar la característica de sincronización automática de los certificados al importar un certificado desde el almacén de claves a Azure Spring Apps. Para más información, consulte la sección Importación de un certificado en Azure Spring Apps.
También puede habilitar o deshabilitar esta característica para un certificado que ya se ha importado a Azure Spring Apps.
Siga estos pasos para habilitar o deshabilitar la sincronización automática para un certificado importado:
Adición de un dominio personalizado
Puede usar un registro CNAME para asignar un nombre DNS personalizado a Azure Spring Apps.
Nota
No se admite el registro A.
Crear un registro CNAME
Vaya al proveedor de DNS y agregue un registro CNAME para asignar el dominio a <service-name>.azuremicroservices.io
. Aquí, <service-name>
es el nombre de la instancia de Azure Spring Apps. Se admite el dominio y el subdominio con comodín.
Después de agregar el registro CNAME, la página de registros DNS se parece al ejemplo siguiente:
Asignación del dominio personalizado a la aplicación de Azure Spring Apps
Si no tiene una aplicación en Azure Spring Apps, siga las instrucciones de Inicio rápido: Implementación de la primera aplicación en Azure Spring Apps.
Siga estos pasos para enlazar un dominio personalizado con la aplicación:
Vaya a la página de la aplicación.
Seleccione Dominio personalizado.
Seleccione Agregar dominio personalizado.
Escriba el nombre de dominio completo para el que ha agregado un registro CNAME, como
www.contoso.com
. Asegúrese de que el tipo de registro nombre de host esté establecido en CNAME -<service-name>.azuremicroservices.io
.Haga clic en Validar para habilitar el botón Agregar.
Seleccione Agregar.
Una aplicación puede tener varios dominios, pero un dominio solo puede asignarse a una aplicación. Después de asignar correctamente el dominio personalizado a la aplicación, se muestra en la tabla de dominios personalizados.
Nota
Una etiqueta Not Secure (No seguro) para el dominio personalizado significa que aún no está enlazado a un certificado SSL. Todas las solicitudes HTTPS a este dominio personalizado desde un explorador reciben un error o una advertencia.
Agregar enlace SSL
Siga estos pasos para actualizar un dominio personalizado de la aplicación:
En la tabla de dominios personalizados, seleccione Agregar enlace SSL como se muestra en la ilustración anterior.
Seleccione el certificado o impórtelo.
Seleccione Guardar.
Después de agregar correctamente el enlace SSL, el estado del dominio es seguro: Correcto.
Aplicación de HTTPS
De forma predeterminada, los usuarios pueden seguir accediendo a la aplicación mediante HTTP, pero puede redirigir todas las solicitudes HTTP al puerto HTTPS.
En la página de la aplicación, en el panel de navegación, seleccione Dominio personalizado. A continuación, establezca solo HTTPS en Yes
.
Una vez finalizada la operación, vaya a cualquiera de las direcciones URL HTTP que apuntan a la aplicación. Observe que las direcciones URL HTTP no funcionan.