Los procedimientos para solucionar problemas dependen del tipo de certificados SSL que se utilicen.
Solucionar problemas con los certificados gestionados por Google
En el caso de los certificados gestionados por Google, hay dos tipos de estado:
- Estado de gestión
- Estado de dominio
Estado de gestión
Para comprobar el estado del certificado, ejecuta el siguiente comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(name,managed.status)"
Los valores de estado gestionado son los siguientes:
Estado de gestión | Explicación |
---|---|
PROVISIONING |
Se ha creado el certificado gestionado por Google y Google Cloud está trabajando con la autoridad certificadora para firmarlo. El aprovisionamiento de un certificado gestionado por Google puede tardar hasta 60 minutos desde el momento en que los cambios en la configuración del DNS y del balanceador de carga se hayan propagado por Internet. Si has actualizado recientemente la configuración de DNS, los cambios pueden tardar bastante en propagarse por completo. A veces, la propagación tarda hasta 72 horas en todo el mundo, aunque normalmente se completa en unas horas. Para obtener más información sobre la propagación de DNS, consulta Propagación de cambios. Si el certificado sigue en el estado |
ACTIVE |
El certificado SSL gestionado por Google se obtiene de la autoridad de certificación. Puede tardar 30 minutos más en estar disponible para que lo use un balanceador de carga. |
PROVISIONING_FAILED |
Es posible que veas brevemente PROVISIONING_FAILED aunque tu certificado esté ACTIVE .
Vuelve a comprobar el estado. Si el estado sigue siendo PROVISIONING_FAILED , significa que se ha creado el certificado gestionado por Google, pero la autoridad de certificación no puede firmarlo. Asegúrate de haber completado todos los pasos de Usar certificados SSL gestionados por Google. Google Cloud vuelve a intentar el aprovisionamiento hasta que se complete o el estado cambie a PROVISIONING_FAILED_PERMANENTLY .
|
PROVISIONING_FAILED_PERMANENTLY |
Se crea el certificado gestionado por Google, pero la autoridad de certificación no puede firmarlo debido a un problema de configuración de DNS o del balanceador de carga. En
este estado, Google Cloud no vuelve a intentar el aprovisionamiento. Crea un certificado SSL gestionado por Google de sustitución y asegúrate de que esté asociado al proxy de destino de tu balanceador de carga. Verifica o completa todos los pasos de Usar certificados SSL gestionados por Google. Después, puedes eliminar el certificado que no se haya podido aprovisionar de forma permanente. |
RENEWAL_FAILED |
No se ha podido renovar el certificado gestionado por Google debido a un problema con el balanceador de carga o con la configuración de DNS. Si alguno de los dominios o subdominios de un certificado gestionado no apunta a la dirección IP del balanceador de carga mediante un registro A o AAAA, el proceso de renovación fallará. El certificado actual sigue funcionando, pero caducará en breve. Comprueba tu configuración. Si el estado sigue siendo Para obtener más información sobre la renovación de certificados, consulta Renovación de certificados SSL gestionados por Google. |
Estado de dominio
Para comprobar el estado del dominio, ejecuta el siguiente comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(managed.domainStatus)"
Los valores de estado del dominio se describen en esta tabla.
Estado de dominio | Explicación |
---|---|
PROVISIONING |
Se crea el certificado gestionado por Google para el dominio. Google Cloud está trabajando con la autoridad de certificación para firmar el certificado. |
ACTIVE |
El dominio se ha validado correctamente para aprovisionar el certificado. Si el certificado SSL es para varios dominios, solo se podrá aprovisionar cuando todos los dominios tengan el estado ACTIVE y el estado de gestión del certificado también sea ACTIVE .
|
FAILED_NOT_VISIBLE |
No se ha completado el aprovisionamiento de certificados del dominio. El problema puede deberse a cualquiera de los siguientes motivos:
PROVISIONING , Google Cloud sigue intentando
proporcionar el servicio, aunque el estado del dominio sea
FAILED_NOT_VISIBLE .
|
FAILED_CAA_CHECKING |
No se ha podido aprovisionar el certificado debido a un problema de configuración con el registro CAA de tu dominio. Asegúrate de haber seguido el procedimiento correcto. |
FAILED_CAA_FORBIDDEN |
No se ha podido aprovisionar el certificado porque el registro CAA de tu dominio no especifica una AC que Google Cloud deba usar. Asegúrate de haber seguido el procedimiento correcto. |
FAILED_RATE_LIMITED |
No se ha podido aprovisionar el certificado porque una autoridad de certificación ha limitado la frecuencia de las solicitudes de firma de certificados. Puedes aprovisionar un certificado nuevo, cambiar al nuevo certificado y eliminar el certificado anterior, o bien ponerte en contacto con el equipo de Google Cloud Asistencia. |
Renovación de certificados gestionados
Para asegurarte de que tus certificados superen el paso de validación del dominio del proceso de renovación, consulta los requisitos de tus registros A y AAAA de DNS.
Validación de dominio desde varias perspectivas
Google Cloud renueva periódicamente tus certificados gestionados por Google solicitándolos a autoridades de certificación (ACs). Las autoridades de certificación con las queGoogle Cloud trabaja para renovar tus certificados usan un método de validación de dominio multiperspectiva conocido como corroboración de emisión multiperspectiva (MPIC). Como parte de este proceso, las autoridades de certificación verifican el control del dominio comprobando la configuración de DNS del dominio e intentando ponerse en contacto con el servidor que hay detrás de la dirección IP del dominio. Estas verificaciones se realizan desde varios puntos de vista de Internet. Si el proceso de validación falla, los certificados gestionados por Google no se renuevan. Como resultado, el balanceador de carga sirve un certificado caducado a los clientes, lo que provoca que los usuarios del navegador se encuentren con errores de certificado y que los clientes de la API experimenten fallos de conexión.
Para evitar que se produzcan errores de validación de dominio desde varias perspectivas debido a registros DNS mal configurados, ten en cuenta lo siguiente:
- Los registros A de DNS (IPv4) y AAAA de DNS (IPv6) de tus dominios y subdominios deben apuntar únicamente a la dirección o direcciones IP asociadas a la regla o reglas de reenvío del balanceador de carga. La existencia de cualquier otra dirección en el registro puede provocar que la validación falle.
- La autoridad certificadora, que valida los registros DNS, consulta los registros DNS desde varias ubicaciones. Asegúrate de que tu proveedor de DNS responda de forma coherente a todas las solicitudes de validación de dominio globales.
- Si se usan GeoDNS (que devuelve direcciones IP diferentes en función de la ubicación de la solicitud) o políticas de DNS basadas en la ubicación, se pueden producir respuestas incoherentes y la validación puede fallar. Si tu proveedor de DNS usa GeoDNS, inhabilítalo o asegúrate de que todas las regiones devuelvan la misma dirección IP del balanceador de carga.
- Debes especificar explícitamente las direcciones IP de tu balanceador de carga en tu configuración de DNS. Las capas intermedias, como una CDN, pueden provocar un comportamiento impredecible. Se debe poder acceder directamente a la dirección IP sin redirecciones, cortafuegos ni CDNs en la ruta de solicitud. Para obtener más información, consulta la sección Balanceadores de carga detrás de una CDN de este documento.
- Te recomendamos que uses un comprobador de propagación global de DNS de tu elección para verificar que todos los registros DNS relevantes se resuelven correctamente y de forma coherente en todo el mundo.
Verificar los cambios de configuración
Una vez que hayas configurado los registros DNS, puedes verificar que sean correctos creando un certificado y conectándolo a tu balanceador de carga junto con el certificado actual. Este paso fuerza una comprobación inmediata del aprovisionamiento de certificados con la AC, lo que te permite verificar los cambios en la configuración en cuestión de minutos. Si no lo haces, la renovación automática del certificado puede tardar días o semanas, lo que genera incertidumbre sobre tu configuración.
Si el estado del certificado pasa a ser ACTIVE
, significa que se ha emitido el certificado y, por lo tanto, que la configuración de DNS es correcta. En este punto, te recomendamos que elimines el certificado anterior para evitar tener dos certificados independientes para el mismo dominio. Este proceso no interrumpe el tráfico a tu balanceador de carga.
El nuevo certificado sirve como herramienta de validación: su creación confirma que la validación de dominio multiperspectiva mediante MPIC funciona correctamente en tu configuración.
Balanceadores de carga detrás de una CDN
En el caso de los balanceadores de carga que tienen habilitada la CDN, es posible que algunos proveedores de CDN de terceros en la ruta de la solicitud impidan que las solicitudes de validación se completen correctamente. Esto puede ocurrir si el proveedor de CDN está proxyizando activamente el tráfico HTTP(S).
En estos casos, te recomendamos que migres tus certificados a Certificate Manager y que uses el método de autorización de DNS para aprovisionar certificados gestionados por Google. Con este último método, la autoridad de certificación no tiene que ponerse en contacto con tu balanceador de carga.
Solucionar problemas de certificados SSL autogestionados
En esta guía se describe cómo solucionar problemas de configuración de certificados SSL autogestionados.
No se ha podido analizar el certificado
Google Cloud requiere certificados en formato PEM. Si el certificado tiene formato PEM, comprueba lo siguiente:
Puedes validar tu certificado con el siguiente comando de OpenSSL. Sustituye
CERTIFICATE_FILE
por la ruta del archivo de tu certificado:
openssl x509 -in CERTIFICATE_FILE -text -noout
Si OpenSSL no puede analizar tu certificado:
- Ponte en contacto con tu CA para obtener ayuda.
- Crea una clave privada y un certificado.
Falta el nombre común o el nombre alternativo del sujeto
Google Cloud requiere que tu certificado tenga un nombre común (CN
) o un atributo de nombre alternativo del sujeto (SAN
). Consulta Crear una CSR para obtener más información.
Si faltan ambos atributos, Google Cloud muestra un mensaje de error como el siguiente cuando intentas crear un certificado autogestionado:
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The SSL certificate is missing a Common Name(CN) or Subject Alternative
Name(SAN).
No se puede analizar la clave privada
Google Cloud requiere claves privadas con formato PEM que cumplan los criterios de clave privada.
Puedes validar tu clave privada con el siguiente comando de OpenSSL. Sustituye
PRIVATE_KEY_FILE
por la ruta a tu clave privada:
openssl rsa -in PRIVATE_KEY_FILE -check
Las siguientes respuestas indican que hay un problema con tu clave privada:
unable to load Private Key
Expecting: ANY PRIVATE KEY
RSA key error: n does not equal p q
RSA key error: d e not congruent to 1
RSA key error: dmp1 not congruent to d
RSA key error: dmq1 not congruent to d
RSA key error: iqmp not inverse of q
Para solucionar el problema, debes crear una nueva clave privada y un certificado.
Claves privadas con contraseñas
Si OpenSSL te pide una contraseña, tendrás que eliminarla de tu clave privada para poder usarla con Google Cloud. Puedes usar el siguiente comando de OpenSSL:
openssl rsa -in PRIVATE_KEY_FILE \ -out REPLACEMENT_PRIVATE_KEY_FILE
Sustituye los marcadores de posición por valores válidos:
PRIVATE_KEY_FILE
: la ruta a tu clave privada protegida con una contraseña.REPLACEMENT_PRIVATE_KEY_FILE
: la ruta en la que quieres guardar una copia de tu clave privada de texto sin formato.
Certificados intermedios a punto de caducar
Si un certificado intermedio caduca antes que el certificado de servidor (hoja), puede que tu AC no esté siguiendo las prácticas recomendadas.
Cuando caduca un certificado intermedio, el certificado de hoja que se usa enGoogle Cloud puede dejar de ser válido. Esto depende del cliente SSL, como se indica a continuación:
- Algunos clientes SSL solo tienen en cuenta la hora de vencimiento del certificado de hoja y no tienen en cuenta los certificados intermedios caducados.
- Algunos clientes SSL tratan una cadena con certificados intermedios caducados como no válida y muestran una advertencia.
Para solucionar este problema, sigue estos pasos:
- Espera a que la AC cambie a un nuevo certificado intermedio.
- Solicita un nuevo certificado.
- Vuelve a subir el nuevo certificado con las nuevas claves.
Tu CA también puede permitir la firma cruzada de certificados intermedios. Ponte en contacto con tu CA para confirmarlo.
El exponente público de RSA es demasiado grande
Aparece el siguiente mensaje de error cuando el exponente público RSA es mayor que 65537. Asegúrate de usar 65537
, tal como se especifica en RFC 4871.
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The RSA public exponent is too large.
Quitar el certificado SSL de target-proxy
En los siguientes pasos se muestra cómo quitar un certificado SSL de un proxy HTTPS de destino:
Exporta el target-https-proxy a un archivo temporal.
gcloud compute target-https-proxies export TARGET_PROXY_NAME > /tmp/proxy
Edita el archivo
/tmp/proxy
y elimina las siguientes líneas:sslCertificates: - https://www.googleapis.com/compute/v1/projects/...
Importa el archivo
/tmp/proxy
.gcloud compute target-https-proxies import TARGET_PROXY_NAME \ --source=/tmp/proxy
Opcional: Elimina el certificado SSL.
gcloud compute ssl-certificates delete SSL_CERT_NAME
Haz los cambios siguientes:
TARGET_PROXY_NAME
: el nombre del recurso de proxy https de destino.SSL_CERT_NAME
: el nombre del certificado SSL.