Los procedimientos para solucionar problemas dependen del tipo de certificados SSL que se usen.
Soluciona problemas de certificados administrados por Google
Existen dos tipos de estado para los certificados administrados por Google:
- Estado administrado
- Estado de los dominios
Estado administrado
Para verificar el estado del certificado, ejecuta el siguiente comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(name,managed.status)"
Los valores del estado administrado son los siguientes:
Estado administrado | Explicación |
---|---|
PROVISIONING |
Se creó el certificado administrado por Google, y Google Cloud está trabajando con la autoridad certificada para firmarlo. Aprovisionar un certificado administrado por Google puede demorar hasta 60 minutos desde el momento en que tu cambio de configuración del balanceador de cargas y tu DNS se propagaron a través de la Internet. Si actualizaste la configuración de tu DNS hace poco, los cambios pueden tardar bastante tiempo en propagarse por completo. A veces, la propagación puede demorar hasta 72 horas en todo el mundo, aunque suele tardar algunas horas. Para obtener más información sobre la propagación de DNS, consulta Propagación de cambios. Si el certificado permanece en el estado |
ACTIVE |
El certificado SSL administrado por Google se obtiene de la autoridad certificada. Puede tomar unos 30 minutos adicionales que el certificado esté disponible para que lo use un balanceador de cargas. |
PROVISIONING_FAILED |
Es posible que veas PROVISIONING_FAILED de forma breve, incluso si el estado del certificado es, en realidad, ACTIVE .
Vuelve a comprobar el estado. Si el estado sigue siendo PROVISIONING_FAILED , se creó el certificado administrado por Google, pero la autoridad certificada no puede firmarlo. Verifica que completaste todos los pasos en Usa certificados SSL administrados por Google. Google Cloud reintenta el aprovisionamiento hasta que lo logra o hasta que el estado cambia a PROVISIONING_FAILED_PERMANENTLY .
|
PROVISIONING_FAILED_PERMANENTLY |
Se creó el certificado administrado por Google, pero la autoridad certificada no puede firmarlo debido a un problema de configuración del balanceador de cargas o del DNS. En este estado, Google Cloud no reintenta el aprovisionamiento. Crea un certificado SSL de reemplazo administrado por Google y asegúrate de que el reemplazo esté asociado con el proxy de destino del balanceador de cargas. Verifica o completa todos los pasos en Usa certificados SSL administrados por Google. Luego, puedes borrar el certificado que falló en el aprovisionamiento de forma permanente. |
RENEWAL_FAILED |
No se pudo completar la renovación del certificado administrado por Google debido a un problema con el balanceador de cargas o la configuración de DNS. Si alguno de los dominios o subdominios de un certificado administrado no dirige a la dirección IP del balanceador de cargas mediante un registro A/AAAA, el proceso de renovación falla. El certificado existente seguirá entregando, pero vencerá pronto. Verifica la 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 administrados por Google. |
Estado de los dominios
Para verificar el estado del dominio, ejecuta el siguiente comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(managed.domainStatus)"
Los valores del estado del dominio se describen en esta tabla.
Estado de los dominios | Explicación |
---|---|
PROVISIONING |
El certificado administrado por Google se crea para el dominio. Google Cloud está trabajando con la autoridad certificada para firmar el certificado. |
ACTIVE |
El dominio se validó correctamente para aprovisionar el certificado. Si el certificado SSL es para varios dominios, solo se puede aprovisionar una vez que todos los dominios tengan un estado ACTIVE y el estado administrado del certificado también sea ACTIVE .
|
FAILED_NOT_VISIBLE |
No se completó el aprovisionamiento de certificados para el dominio. Cualquiera de los siguientes puede ser el problema:
PROVISIONING , Google Cloud seguirá reintentando el aprovisionamiento, incluso si el estado del dominio es FAILED_NOT_VISIBLE .
|
FAILED_CAA_CHECKING |
Se produjo un error en el aprovisionamiento del certificado debido a un problema de configuración con el registro de CAA del dominio Asegúrate de haber seguido el procedimiento correcto. |
FAILED_CAA_FORBIDDEN |
Se produjo un error en el aprovisionamiento del certificado porque el registro de CAA del dominio no especifica una CA que deba usar Google Cloud Asegúrate de haber seguido el procedimiento correcto. |
FAILED_RATE_LIMITED |
Se produjo un error en el aprovisionamiento del certificado porque una autoridad certificada tiene un límite de frecuencia de solicitudes de firma de certificados. Puedes aprovisionar un certificado nuevo, cambiar al certificado nuevo y borrar el certificado anterior, o puedes comunicarte con el equipo de Asistencia de Google Cloud. |
Renovación del certificado administrado
Si alguno de los dominios o subdominios de un certificado administrado no dirige a la dirección IP del balanceador de cargas o apunta a una IP junto con la IP del balanceador de cargas, el proceso de renovación falla. Para evitar que falle la renovación, asegúrate de que todos los dominios y los subdominios apunten a la dirección IP del balanceador de cargas.
Soluciona problemas de certificados SSL autoadministrados
En esta guía, se describe cómo solucionar problemas de configuración para certificados SSL autoadministrados.
El certificado no se puede analizar
Google Cloud requiere certificados en formato PEM. Si el certificado tiene formato PEM, verifica lo siguiente:
Puedes validar el certificado mediante el siguiente comando de OpenSSL y reemplazar CERTIFICATE_FILE
por la ruta al archivo del certificado:
openssl x509 -in CERTIFICATE_FILE -text -noout
Si OpenSSL no puede analizar tu certificado, haz lo siguiente:
- Comunícate con una CA para obtener ayuda.
- Crea una clave privada y un certificado nuevos.
Falta el nombre común o el nombre alternativo del asunto
Google Cloud requiere que el certificado tenga un nombre común (CN
) o un nombre alternativo de la entidad (SAN
). Consulta la sección Crea una CSR para obtener más información.
Si ninguno de estos atributos está presente, Google Cloud muestra un mensaje de error como el siguiente cuando intentas crear un certificado autoadministrado:
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The SSL certificate is missing a Common Name(CN) or Subject Alternative
Name(SAN).
La clave privada no se puede analizar
Google Cloud requiere claves privadas con formato PEM que cumplan con los criterios de clave privada.
Puedes validar la clave privada mediante el siguiente comando de OpenSSL, en el que debes reemplazar PRIVATE_KEY_FILE
por la ruta a la clave privada:
openssl rsa -in PRIVATE_KEY_FILE -check
Las siguientes respuestas indican 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 clave privada y un certificado nuevos.
Claves privadas con frases de contraseña
Si OpenSSL solicita una frase de contraseña, deberás quitar la frase de contraseña de la 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
Reemplaza los marcadores de posición por valores válidos:
PRIVATE_KEY_FILE
: Es la ruta a la clave privada protegida por una frase de contraseñaREPLACEMENT_PRIVATE_KEY_FILE
: la ruta de acceso en la que deseas guardar una copia de la clave privada como texto sin formato.
Vencimiento de certificados intermedios
Si un certificado intermedio vence antes que el certificado del servidor (de entidad final), esto podría indicar que la AC no sigue las prácticas recomendadas.
Cuando un certificado intermedio caduca, es posible que el certificado de entidad final usado en Google Cloud no sea válido. Esto depende del cliente SSL, de la siguiente manera:
- Algunos clientes SSL solo miran la hora de vencimiento del certificado de entidad final e ignoran los certificados intermedios vencidos.
- Algunos clientes SSL tratan una cadena con certificados intermedios vencidos como no válida y muestran una advertencia.
Para solucionar este problema, sigue estos pasos:
- Espere a que la CA cambie a un nuevo certificado intermedio.
- Solicítales un nuevo certificado.
- Vuelve a subir el certificado nuevo con las claves nuevas.
La CA también puede permitir la firma cruzada para certificados intermedios. Consulta con la AC para confirmar.
El exponente público de RSA es demasiado grande.
El siguiente mensaje de error aparece cuando el exponente público de RSA es mayor que 65537. Asegúrate de usar 65537
, como se especifica en RFC 4871.
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The RSA public exponent is too large.
Quita el certificado SSL del proxy de destino
En los siguientes pasos, se demuestra cómo quitar un solo certificado SSL adjunto al proxy https de destino:
Exporta el proxy de destino https a un archivo temporal.
gcloud compute target-https-proxies export TARGET_PROXY_NAME > /tmp/proxy
Edita el archivo
/tmp/proxy
y quita 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
Borra el certificado SSL (opcional).
gcloud compute ssl-certificates delete SSL_CERT_NAME
Reemplaza lo siguiente:
TARGET_PROXY_NAME
: el nombre del proxy HTTPS de destino.SSL_CERT_NAME
: es el nombre del certificado SSL.