Esta guía le muestra cómo instalar un certificado SSL en Google App Engine, tanto de la manera moderna (un certificado gratuito gestionado por Google que App Engine aprovisiona y renueva automáticamente para cualquier dominio personalizado) como de la manera tradicional (subiendo su propio certificado de terceros cuando necesita una CA específica, un certificado EV/OV o un wildcard). App Engine es un PaaS completamente gestionado, por lo que todo esto ocurre en la Google Cloud Console o mediante la CLI de gcloud; nunca inicia sesión en un servidor.
Requisitos previos
Antes de instalar un certificado, asegúrese de que lo siguiente esté en orden:
- Una aplicación de App Engine desplegada (entorno estándar o flexible) en un proyecto de Google Cloud.
- Un dominio registrado que usted controle, con acceso a sus registros DNS.
- El dominio verificado para su cuenta de Google mediante Google Search Console o Webmaster Central (App Engine lee la propiedad verificada desde allí).
- La CLI de gcloud instalada y autenticada, si prefiere la línea de comandos en lugar de la Consola.
- El rol de Propietario, Editor o Administrador de App Engine en el proyecto.
Los dominios personalizados y el SSL en App Engine funcionan en este orden: verificar el dominio, asignarlo a su aplicación, apuntar el DNS a App Engine y, luego, dejar que Google aprovisione un certificado gestionado o subir el suyo propio.
Opción 1: SSL gratuito gestionado por Google (recomendado)
Los certificados gestionados por Google son gratuitos, se aprovisionan automáticamente mediante Let’s Encrypt y se renuevan automáticamente mientras el dominio permanezca asignado. Esta es la opción predeterminada para cualquier dominio personalizado nuevo en App Engine y es la elección correcta para la gran mayoría de los sitios. Los certificados gestionados no admiten wildcards: cada nombre de host (por ejemplo, example.com y www.example.com) queda cubierto por su propio certificado.
Paso 1: Verifique la propiedad de su dominio
En su navegador, inicie sesión en Google Search Console con la misma cuenta de Google que es propietaria del proyecto de Cloud, agregue su dominio como propiedad y complete uno de los métodos de verificación (el registro TXT de DNS es el más confiable). App Engine no le permitirá asignar un dominio que no haya verificado.
Paso 2: Asigne el dominio personalizado en la Consola
- Abra la Google Cloud Console y seleccione su proyecto.
- En el menú de navegación, elija App Engine > Settings.
- Abra la pestaña Custom Domains y haga clic en Add a custom domain.
- Elija el dominio verificado en el menú desplegable y luego ingrese los subdominios que desea servir (normalmente el dominio raíz example.com y www.example.com).
- Haga clic en Save mappings y luego siga las instrucciones en pantalla para agregar los registros A, AAAA y CNAME sugeridos en su proveedor de DNS.
Para hacer lo mismo desde la línea de comandos, ejecute:
gcloud app domain-mappings create www.example.com --project=YOUR_PROJECT_ID
gcloud app domain-mappings create example.com --project=YOUR_PROJECT_ID
Paso 3: Espere el certificado gestionado
Una vez que el DNS se haya propagado, App Engine solicita automáticamente un certificado de Let’s Encrypt para cada nombre de host asignado. El aprovisionamiento suele ser rápido, pero la propagación del DNS puede tardar hasta 24 horas. Compruebe el estado con:
gcloud app domain-mappings list --project=YOUR_PROJECT_ID
Cada asignación muestra un estado SSL de MANAGED_CERTIFICATE_STATUS: OK cuando el certificado está activo. Mientras se emite, verá PROVISIONING o PENDING_DNS; eso normalmente se resuelve solo una vez que los registros DNS apuntan a las IP de Google.
Paso 4: Fuerce HTTPS para los visitantes (entorno estándar)
En el entorno estándar de App Engine, redirija cada solicitud a HTTPS agregando secure: always a cada controlador en app.yaml:
handlers:
- url: /.*
script: auto
secure: always
redirect_http_response_code: 301
Despliegue el cambio con gcloud app deploy. En el entorno flexible, gestione la redirección de HTTP a HTTPS a nivel de la aplicación o del balanceador de carga.
Opción 2: Suba su propio certificado SSL de terceros
Elija esta opción cuando necesite un certificado wildcard, un certificado OV o EV de una Autoridad de Certificación específica, o un certificado ya emitido para su dominio. App Engine acepta un único archivo PEM que contenga el certificado hoja y los certificados intermedios, además de una clave privada RSA sin cifrar codificada en PEM. Se permiten hasta cinco certificados en total en el archivo PEM subido (un certificado hoja más hasta cuatro intermedios), y los certificados subidos se pueden reutilizar en proyectos dentro de la misma organización de Cloud.
Paso 1: Genere el CSR y solicite el certificado
Si ya generó su CSR y recibió el certificado emitido por su CA, pase directamente al Paso 2.
Un CSR (Certificate Signing Request) es un bloque de texto codificado que contiene sus datos de contacto y de dominio, que la CA utiliza para verificar y firmar su certificado. Tiene dos formas de crear uno:
- Use nuestro Generador de CSR para generar el CSR y la clave privada directamente en su navegador.
- Génerelo localmente con OpenSSL; consulte cómo generar un CSR en Google App Engine.
Envíe el CSR (incluyendo los marcadores —–BEGIN CERTIFICATE REQUEST—– y —–END CERTIFICATE REQUEST—–) a la CA durante su pedido. Guarde la clave privada correspondiente en un lugar seguro; la necesitará durante la instalación.
Paso 2: Combine el certificado y la cadena en un único archivo PEM
Si la CA le entregó archivos separados (su certificado de servidor más uno o más certificados intermedios), concaténelos en el orden correcto (su certificado primero, los intermedios después). Abra una terminal en la carpeta que contiene los archivos y ejecute:
cat yourdomain.crt intermediate.crt > concat.crt
En Windows PowerShell, el equivalente es:
Get-Content yourdomain.crt, intermediate.crt | Set-Content concat.crt
El resultado es un archivo de certificado codificado en PEM con la cadena completa. Si también necesita convertir formatos (por ejemplo, de .pfx o .p12 a PEM), use nuestras herramientas SSL.
La clave privada debe ser una clave RSA sin cifrar codificada en PEM (por ejemplo, myserver.key.pem). Si la suya está protegida con contraseña, elimine la frase de contraseña con:
openssl rsa -in encrypted.key -out myserver.key.pem
Paso 3: Suba el certificado en la Cloud Console
- Abra la Google Cloud Console y seleccione su proyecto.
- Vaya al menú de navegación > App Engine > Settings, luego abra la pestaña SSL Certificates.
- Haga clic en Upload a new certificate.
- Asigne un Name al certificado, luego suba concat.crt en PEM encoded X.509 public key certificate y myserver.key.pem en Unencrypted PEM encoded RSA private key.
- Haga clic en Upload.
Paso 4: Asigne el certificado a sus dominios
En la página de detalles del certificado, seleccione los dominios personalizados que desea que proteja y luego haga clic en Save. Si un dominio está usando actualmente un certificado gestionado por Google, desactive primero el modo gestionado para él; de lo contrario, la carga no se aplicará.
Paso 5 (opcional): Suba y vincule desde la CLI de gcloud
La misma operación desde la línea de comandos:
gcloud app ssl-certificates create
--display-name="example.com 2026"
--certificate=concat.crt
--private-key=myserver.key.pem
El comando devuelve el nuevo ID del certificado. Vincúlelo a un dominio asignado y desactive el modo gestionado para esa asignación:
gcloud app domain-mappings update www.example.com
--certificate-id=CERT_ID
--certificate-management=manual
Para volver a un certificado gratuito gestionado por Google más adelante, ejecute:
gcloud app domain-mappings update www.example.com
--certificate-management=automatic
Notas y límites
- Los certificados gestionados no cubren wildcards. Para *.example.com, suba un certificado wildcard como en la Opción 2.
- Let’s Encrypt limita la emisión a 50 certificados gestionados por semana por dominio base. El límite rara vez es un problema, pero importa si asigna muchos subdominios a la vez.
- Los certificados subidos que no estén asignados a ningún dominio se eliminan automáticamente después de 30 días.
- El máximo es un certificado hoja más cuatro intermedios en un único archivo PEM subido.
- Un certificado subido es visible en todos los proyectos de su organización de Cloud, por lo que un único wildcard puede reutilizarse.
Pruebe la instalación del SSL
Abra su sitio a través de https:// y confirme el candado, luego ejecute un análisis más profundo con nuestro SSL Checker para obtener un informe instantáneo sobre el certificado, la cadena y la compatibilidad de protocolos.
Preguntas frecuentes
Sí. Una vez que asigna un dominio personalizado verificado a su aplicación de App Engine y apunta el DNS a Google, App Engine aprovisiona automáticamente un certificado SSL gratuito mediante Let’s Encrypt y lo renueva por usted. No paga por esto y no tiene que subir nada.
Los certificados gratuitos gestionados por Google no admiten wildcards. Para proteger *.example.com, compre un certificado wildcard, combine el certificado hoja y los intermedios en un único archivo PEM, y luego súbalo en App Engine > Settings > SSL Certificates (Opción 2 anterior).
App Engine no puede emitir un certificado de Let’s Encrypt hasta que los registros DNS de su dominio apunten a las IP de Google que se proporcionaron al crear la asignación. Verifique que los registros A, AAAA y CNAME coincidan con los valores mostrados en Custom Domains, y luego espere la propagación del DNS, que puede tardar hasta 24 horas. Ejecute gcloud app domain-mappings list para volver a comprobar el estado.
En el entorno estándar, agregue secure: always (y opcionalmente redirect_http_response_code: 301) a cada controlador en app.yaml, y luego vuelva a desplegar con gcloud app deploy. En el entorno flexible, realice la redirección a nivel de la aplicación o del balanceador de carga.
Solo si subió el suyo. Los certificados gestionados por Google se renuevan automáticamente siempre que el dominio siga asignado y el DNS siga apuntando a App Engine. Los certificados de terceros subidos caducan en la fecha establecida por la CA (actualmente hasta aproximadamente un año para certificados TLS públicos), por lo que debe repetir los pasos de carga y asignación antes de esa fecha.
Ahorre un 10% en certificados SSL al realizar su pedido hoy mismo.
Emisión rápida, cifrado potente, 99,99% de confianza del navegador, asistencia dedicada y garantía de devolución del dinero en 25 días. Código del cupón: SAVE10


