Certificate Management Service automatiza el despliegue de certificados SSL. Despliegue certificados en instancias de confianza de ECS con un solo clic o actualice los certificados en instancias de ECS y Simple Application Server donde ya se configuró uno.
Métodos de despliegue
Elija un método de despliegue según su tipo de servidor y escenario.
|
Función |
Despliegue con un clic (para el despliegue inicial) |
Despliegue manual (para el despliegue inicial en Simple Application Server y las actualizaciones de certificados) |
|
Mecanismo principal |
Totalmente automatizado. La clave privada permanece dentro de la instancia y se comunica con el módulo de confianza de hardware mediante la interfaz PKCS#11 para garantizar una alta seguridad. |
Semiautomatizado. Se carga un nuevo archivo de certificado en una ruta específica del servidor y sobrescribe el anterior. |
|
Servidores compatibles |
Admite únicamente ciertas instancias de confianza de ECS (arquitectura x86 de séptima y octava generación). No es compatible con Simple Application Server. |
Compatible con todas las instancias de ECS y de Simple Application Server. |
|
Sistemas operativos compatibles |
Imágenes UEFI de Alibaba Cloud Linux 3.x y Ubuntu 22.04. |
Todas las distribuciones principales de Linux y Windows Server. |
|
Servidores web compatibles |
Solo admite versiones específicas de Nginx instaladas desde repositorios |
Admite todos los servidores web, incluidos Nginx, Apache y Tomcat. |
|
Requisitos del certificado SSL |
Certificados SSL de dominio único que usan el algoritmo RSA. |
Todos los tipos de certificados SSL. |
|
Casos de uso |
Despliegue inicial de un certificado en una instancia de confianza de ECS elegible para habilitar renovaciones totalmente automatizadas. |
Diseñado para escenarios donde se requiere el despliegue inicial de un certificado en una instancia de Simple Application Server o la actualización de un certificado existente en una instancia de ECS o Simple Application Server. Para el despliegue inicial, inicie sesión en la consola de Certificate Management Service y seleccione Deployment Management > Cloud Server Deployment. Haga clic en Create Task, seleccione un certificado emitido y una instancia de Simple Application Server, especifique la ruta del certificado y de la clave privada, y luego envíe la tarea. |
Si ninguno de estos métodos satisface sus necesidades, Choose an SSL certificate deployment method describe opciones adicionales.
Despliegue con un clic (para instancias de confianza de ECS)
Se integra con los módulos de seguridad de las instancias de confianza de ECS para lograr un despliegue totalmente automatizado y de alta seguridad del certificado y la clave privada. Los certificados multianuales se renuevan automáticamente.
Requisitos previos
Tipo y especificación de la instancia: instancias de confianza de ECS basadas en x86 de séptima y octava generación (Create a trusted instance). No es compatible con Simple Application Server.
Sistema operativo: imágenes UEFI de Alibaba Cloud Linux 3.x o Ubuntu 22.04.
-
Servidor web: versiones específicas de Nginx instaladas desde un repositorio
yumoapt.Para imágenes de Alibaba Cloud Linux 3.x: Nginx instalado mediante yum, versiones de la 1.18.0-2.1.al8 a la 1.20.1-1.0.5.al8 (exclusivo).
Para imágenes UEFI de Ubuntu 22.04: Nginx instalado mediante apt.
Tipo y estado del certificado: un certificado SSL de dominio único que use el algoritmo RSA y se encuentre en estado Issued.
Permisos del servidor: use la cuenta
rooto una cuenta con permisossudo.Resolución DNS: el nombre de dominio se resuelve a la dirección IP pública del servidor.
Paso 1: Compruebe el estado de Cloud Assistant
Cloud Assistant debe estar instalado y ejecutándose en la instancia de ECS de destino.
Vaya a Consola de ECS - Cloud Assistant.
Seleccione el resource group y la región de la instancia de destino.
-
En la pestaña Instance, ubique el servidor de ECS de destino y compruebe el estado en la columna Cloud Assistant Status.
NotaSi Cloud Assistant no está instalado o presenta anomalías, solucione el problema con View Cloud Assistant status and troubleshoot exceptions.
Paso 2: Configure el servidor web Nginx
Para el despliegue inicial, modifique la configuración de Nginx para acceder a la clave privada desde el módulo de confianza mediante PKCS#11. Las actualizaciones posteriores omiten este paso.
Alibaba Cloud Linux 3.x
Esta sección usa Nginx 1.20.1 como ejemplo. El directorio de instalación predeterminado de Nginx instalado mediante yum es /etc/nginx/. Si modificó este directorio, ajuste las rutas en consecuencia.
-
Confirme su versión de Nginx.
Versiones compatibles: de la 1.18.0-2.1.al8 a la 1.20.1-1.0.5.al8 (exclusivo).
ImportanteSi Nginx ya está instalado, compruebe que la versión sea compatible. Degrade o reinstale si es necesario.
-
Abra el archivo
/etc/nginx/nginx.confy agreguessl_engine pkcs11;después depid /run/nginx.pid;para especificar el motor criptográfico PKCS#11. A continuación se muestra un ejemplo con la ubicación y la configuración completa:user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Specify the PKCS#11 crypto engine ssl_engine pkcs11; -
Abra el archivo
/etc/nginx/nginx.conf, quite los comentarios de la sección Settings for a TLS enabled server y agregueinclude "/etc/acm/ssl/nginx-acm.conf";para hacer referencia a la configuración de la clave SSL.-
Contenido por agregar:
include "/etc/acm/ssl/nginx-acm.conf"; -
A continuación se muestra un ejemplo con la ubicación y la configuración completa:
server { listen 443 ssl http2; listen [::]:443 ssl http2; # Specify the hostname or Common Name (CN) server_name example.com; root /usr/share/nginx/html; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_prefer_server_ciphers on; # Reference the SSL key configuration include "/etc/acm/ssl/nginx-acm.conf"; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
-
-
Abra el archivo
/usr/lib/systemd/system/nginx.servicey agregueP11_KIT_SERVER_ADDRESS=unix:path=/etc/acm/ssl/acm-p11-kit.sockyOPENSSL_CONF=/etc/acm/ssl/openssl-acm.cnfpara configurar la comunicación con el servicio de claves SSL.-
Contenido por agregar:
Environment="P11_KIT_SERVER_ADDRESS=unix:path=/etc/acm/ssl/acm-p11-kit.sock" Environment="OPENSSL_CONF=/etc/acm/ssl/openssl-acm.cnf" -
A continuación se muestra un ejemplo con la ubicación y la configuración completa:
[Unit] Description=A high performance web server and a reverse proxy server Documentation=man:nginx(8) After=network.target nss-lookup.target [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;' ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;' ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid TimeoutStopSec=5 KillMode=mixed # Configure communication with the SSL key service Environment="P11_KIT_SERVER_ADDRESS=unix:path=/etc/acm/ssl/acm-p11-kit.sock" Environment="OPENSSL_CONF=/etc/acm/ssl/openssl-acm.cnf" [Install] WantedBy=multi-user.targetNotaSi desconoce la ruta del archivo de servicio systemd de Nginx, ejecute
sudo find / -name "nginx.service"para ubicarlo.
-
-
Ejecute el siguiente comando para recargar la configuración del servicio systemd de Nginx:
systemctl daemon-reload
Ubuntu 22.04
Esta sección usa Nginx 1.18.0 como ejemplo. El directorio de instalación predeterminado de Nginx instalado mediante apt es /etc/nginx/. Si modificó este directorio o instaló Nginx con otro método, ajuste las rutas en consecuencia.
-
Abra el archivo
/etc/nginx/nginx.confy agreguessl_engine pkcs11;después depid /run/nginx.pid;para especificar el motor criptográfico SSL/TLS. A continuación se muestra un ejemplo con la ubicación y la configuración completa:user www-data; worker_processes auto; pid /run/nginx.pid; # Specify the PKCS#11 crypto engine ssl_engine pkcs11; include /etc/nginx/modules-enabled/*.conf; -
Abra el archivo
/etc/nginx/sites-enabled/default, cree un nuevo bloque de servidor en el archivo y agregueinclude "/etc/acm/ssl/nginx-acm.conf";dentro de él.-
Contenido por agregar:
include "/etc/acm/ssl/nginx-acm.conf"; -
A continuación se muestra un ejemplo con la ubicación y la configuración completa:
server { listen 443 ssl; # Specify the hostname or Common Name (CN) server_name example.com; root /var/www/html; index index.html index.htm; access_log /var/log/nginx/access_6equj5.log; error_log /var/log/nginx/error_6equj5.log; ssl on; # Reference the SSL key configuration include "/etc/acm/ssl/nginx-acm.conf"; location / { try_files $uri $uri/ =404; } }
-
-
Abra el archivo
/usr/lib/systemd/system/nginx.servicey agregueP11_KIT_SERVER_ADDRESS=unix:path=/etc/acm/ssl/acm-p11-kit.sockyOPENSSL_CONF=/etc/acm/ssl/openssl-acm.cnfpara configurar la comunicación con el servicio de claves SSL.NotaSi desconoce la ruta del archivo de servicio systemd de Nginx, ejecute
sudo find / -name "nginx.service"para ubicarlo.-
Contenido por agregar:
Environment="P11_KIT_SERVER_ADDRESS=unix:path=/etc/acm/ssl/acm-p11-kit.sock" Environment="OPENSSL_CONF=/etc/acm/ssl/openssl-acm.cnf" -
A continuación se muestra un ejemplo con la ubicación y la configuración completa:
[Unit] Description=A high performance web server and a reverse proxy server Documentation=man:nginx(8) After=network.target nss-lookup.target [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;' ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;' ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid TimeoutStopSec=5 KillMode=mixed # Configure communication with the SSL key service Environment="P11_KIT_SERVER_ADDRESS=unix:path=/etc/acm/ssl/acm-p11-kit.sock" Environment="OPENSSL_CONF=/etc/acm/ssl/openssl-acm.cnf" [Install] WantedBy=multi-user.target
-
-
Ejecute el siguiente comando para recargar la configuración del servicio systemd de Nginx:
systemctl daemon-reload
Paso 3: Despliegue el certificado desde la consola
Inicie sesión en la consola de Certificate Management Service.
En la barra de navegación izquierda, seleccione .
-
En la página Deployment to Cloud Servers, haga clic en Create Task y siga los pasos a continuación para desplegar el certificado SSL.
En la página Configure Basic Information, introduzca un valor en Task Name y haga clic en Next.
-
En la página Select Certificate, seleccione un valor en Certificate Type y en Associated Certificates, y luego haga clic en Next.
Cada tarea despliega un certificado. Cree varias tareas si necesita varios certificados.
-
En la página Select Resource, establezca All Types en Quick Deployment/Manual Deployment, seleccione la instancia de ECS de destino y haga clic en Next.
El sistema enumera todas las instancias de ECS elegibles de su cuenta. Si no aparecen recursos, en el área Total Resources de la esquina superior izquierda, haga clic en Synchronize Cloud Resources. El tiempo de sincronización depende de la cantidad de recursos.
Para filtrar las instancias compatibles, seleccione Quick Deployment/Quick Deployment en la lista desplegable All Types. Así filtrará rápidamente las instancias compatibles.
-
En la pestaña Quick Deployment, compruebe que se cumplan los requisitos del entorno de despliegue del certificado, active la casilla Confirm that the preceding operations are complete. y haga clic en Continue to Deploy.
-
En el cuadro de diálogo de confirmación, haga clic en OK.
AvisoReiniciar el servidor web interrumpe el servicio. Despliegue durante las horas de menor tráfico.

Para reiniciar Nginx manualmente, use el siguiente comando:
systemctl restart nginx.service Después de reiniciar Nginx, use el comando curl para probar la conexión SSL de Nginx. El formato del comando es
curl -v https://<your_domain_name>.
-
Paso 4: Compruebe el estado de la tarea de despliegue
En la página Deployment to Cloud Servers, busque la tarea que creó. Si el valor de Task Status es Deployed Successfully, significa que el certificado se cargó correctamente en el servidor en la nube.

Paso 5: Compruebe el certificado SSL
Una tarea de despliegue exitosa no garantiza que el certificado esté activo. Compruébelo al acceder a su dominio.
Acceda a su nombre de dominio mediante HTTPS. Ejemplo:
https://example.com. Reemplaceexample.compor su nombre de dominio real.-
Si aparece un ícono de candado en la barra de direcciones del navegador, el certificado se desplegó correctamente. Si ocurre un error de acceso o no aparece el ícono de candado, borre la caché del navegador o inténtelo de nuevo en modo incógnito o privado.

A partir de Chrome 117, el ícono
de la barra de direcciones se reemplazó por un nuevo ícono
. Haga clic en este ícono para consultar la información del candado de seguridad.
Despliegue manual (para actualizaciones de certificados)
Actualiza un certificado existente en ECS o Simple Application Server al sobrescribir los archivos de certificado antiguos. No aplica para despliegues iniciales.
Requisitos previos
Tipo de servidor en la nube: solo servidores de Alibaba Cloud (Simple Application Server y ECS).
Servidor web: compatible con servidores web, como Nginx y Apache, que usan directamente archivos de certificado PEM o CRT. No es compatible con IIS.
Permisos del servidor: use la cuenta
rooto una cuenta con permisossudo.
Paso 1: Despliegue el certificado SSL
Inicie sesión en la consola de Certificate Management Service.
En el panel de navegación izquierdo, seleccione .
-
En la página Deployment to Cloud Servers, haga clic en Create Task.
En la página Configure Basic Information, introduzca un valor en Task Name y haga clic en Next.
-
En la página Select Certificate, seleccione un valor en Certificate Type, seleccione el valor de Associated Certificates y luego haga clic en Next.
NotaLos certificados emitidos por el servicio Private CA se sincronizan con la pestaña Uploaded Certificates.
-
En la página Select Resource, seleccione un valor en Resources by Cloud Service, marque la instancia de destino y haga clic en Next. El sistema enumera automáticamente todas las instancias de servidores en la nube elegibles de su cuenta (servidores con una aplicación web desplegada).
NotaSi no aparecen recursos, haga clic en Synchronize Cloud Resources en el área Total Resources de la esquina superior izquierda para sincronizar manualmente.
-
En el asistente Deployment Configuration, configure los parámetros descritos en la tabla a continuación y haga clic en OK.
ImportanteLos valores de Certificate Path y Private Key Path deben coincidir con las rutas configuradas en su aplicación web. De lo contrario, el certificado no surtirá efecto.
La siguiente figura muestra un ejemplo de las rutas de los archivos de certificado de Nginx en un servidor en la nube como referencia:

Parámetro
Descripción
Ejemplo
Certificate Path
La ruta absoluta del archivo de certificado en el servidor.
-
Ejemplo en Linux: /ssl/cert.pem
-
Ejemplo en Windows: c:\ssl\cert.pem
Private Key Path
La ruta absoluta del archivo de clave privada en el servidor.
-
Ejemplo en Linux: /ssl/cert.key
-
Ejemplo en Windows: c:\ssl\cert.key
Certificate Chain Path
La ruta absoluta del archivo de cadena de certificados en el servidor.
NotaSi su aplicación web ya tiene configurado un archivo de cadena de certificados, introduzca aquí la ruta correspondiente.
-
Ejemplo en Linux: /ssl/cert.cer
-
Ejemplo en Windows: c:\ssl\cert.cer
Reload Command
Se ejecuta después del despliegue para aplicar el nuevo certificado.
ImportanteSi el reinicio falla, inicie sesión en el servidor y reinícielo manualmente.
-
Recarga gradual de Nginx:
sudo nginx -s reload. -
Reinicio de Apache:
sudo systemctl restart httpd.
-
-
En el cuadro de diálogo, haga clic en OK.
-
Si no se configuró ningún comando de reinicio, haga clic en OK en el mensaje de confirmación y luego reinicie manualmente el servicio web en el servidor.

-
Si se configuró un comando de reinicio, confirme los riesgos y haga clic en OK. Una vez finalizado el despliegue, se ejecutará el comando de reinicio configurado para aplicar el nuevo certificado.

-
Paso 2: Compruebe el estado de la tarea de despliegue
En la página Deployment to Cloud Servers, busque la tarea que creó. Si el valor de Task Status es Deployed, el certificado se actualizó correctamente en el servidor en la nube.
Paso 3: Compruebe el certificado SSL
Acceda a su nombre de dominio mediante HTTPS. Ejemplo:
https://example.com. Reemplaceexample.compor su nombre de dominio real.-
Si aparece un ícono de candado en la barra de direcciones del navegador, el certificado se desplegó correctamente. Si ocurre un error de acceso o no aparece el ícono de candado, borre la caché del navegador o inténtelo de nuevo en modo incógnito o privado.

A partir de Chrome 117, el ícono
de la barra de direcciones se reemplazó por un nuevo ícono
. Haga clic en este ícono para consultar la información del candado de seguridad.
Si aún encuentra problemas, FAQ proporciona los pasos para solucionarlos.
Cuotas y límites
-
Tarifas de despliegue:
El despliegue de certificados emitidos oficialmente es gratuito y no consume su cuota de despliegue.
El despliegue de certificados Self-uploaded consume su cuota de despliegue. Compre un paquete de despliegue según sea necesario. Consulte la página de compra para conocer las tarifas específicas. Si un despliegue falla, se reembolsará la cuota de despliegue correspondiente.
-
Límites de cuota:
Cada tarea despliega un certificado en una instancia. Cree varias tareas si necesita abarcar varias instancias.
Puesta en producción
Riesgo de interrupción del servicio: ambos métodos pueden reiniciar su servidor web (Nginx, Apache), lo que provoca una breve interrupción del servicio. Despliegue durante las horas de menor tráfico.
Recarga gradual: si su servidor web admite la recarga gradual (por ejemplo, Nginx), use
nginx -s reloadosystemctl reload nginxen el campo Restart command en lugar derestartpara minimizar la interrupción de conexiones.Monitoreo y alertas: habilite el monitoreo del nombre de dominio para recibir recordatorios de vencimiento de certificados y evitar interrupciones del servicio. Purchase and enable public domain name monitoring.
Preguntas frecuentes
El certificado no está activo después del despliegue
Las causas más comunes incluyen:
El puerto 443 no está abierto en el security group o el firewall del servidor.
El dominio al que accede no está incluido en los valores de Bound Domains del certificado.
El valor de Task Status de la tarea de despliegue es anómalo. Vaya a la página de detalles de la tarea y haga clic en View Failure Cause. Actualice las configuraciones pertinentes según la información proporcionada e inténtelo de nuevo.
Para solucionar otros problemas, consulte Troubleshoot certificate deployment issues based on browser errors y SSL certificate deployment troubleshooting guide.
Error "Cloud Assistant not install or run"

Causa: Cloud Assistant no está instalado en la instancia de ECS o no se ejecuta correctamente.
-
Solución 1:
Vaya a consola de ECS - Cloud Assistant.
-
Localice el servidor de destino y compruebe el estado de Cloud Assistant.
Si Cloud Assistant no está instalado, haga clic en One-click Installation para instalarlo.
Si el estado es anómalo, consulte Troubleshoot issues with Cloud Assistant agent para obtener una solución.
Una vez que el cliente de Cloud Assistant se ejecute correctamente, cree otra tarea de Cloud Server Deployment en la SSL Certificates Service console.
-
Solución 2:
Siga las instrucciones de Install an SSL certificate on an Nginx or Tengine server (Linux) para instalar manualmente el certificado en el servidor de ECS.