Le procedure per la risoluzione dei problemi variano a seconda che utilizzi certificati SSL gestiti da Google o autogestiti.
Risolvere i problemi relativi ai certificati gestiti da Google
Per i certificati gestiti da Google, esistono due tipi di stato:
- Stato gestito
- Stato dominio
Stato gestito
Per controllare lo stato del certificato, esegui il seguente comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(name,managed.status)"
I valori per lo stato gestito sono i seguenti:
Stato gestito | Spiegazione |
---|---|
PROVISIONING |
Il certificato gestito da Google è stato creato e Google Cloud sta collaborando con l'autorità di certificazione per la firma. Il provisioning di un certificato gestito da Google potrebbe richiedere fino a 60 minuti dal momento in cui le modifiche alla configurazione del DNS e del bilanciatore del carico sono state propagate su internet. Se hai aggiornato di recente la configurazione DNS, potrebbe essere necessario molto tempo per la propagazione completa delle modifiche. A volte la propagazione richiede fino a 72 ore in tutto il mondo, anche se in genere sono necessarie poche ore. Per ulteriori informazioni sulla propagazione DNS, consulta Propagazione delle modifiche. Se il certificato rimane nello stato |
ACTIVE |
Il certificato SSL gestito da Google è ottenuto dall'autorità di certificazione. Potrebbero essere necessari altri 30 minuti prima che sia possibile utilizzarlo da parte di un bilanciatore del carico. |
PROVISIONING_FAILED |
Potresti visualizzare brevemente PROVISIONING_FAILED anche se il tuo
certificato è effettivamente ACTIVE .
Ricontrolla lo stato. Se lo stato rimane PROVISIONING_FAILED , il certificato gestito da Google è stato
creato, ma l'autorità di certificazione non può firmarlo. Assicurati di
aver completato tutti i passaggi descritti in
Utilizzo di certificati SSL gestiti da Google. Google Cloud riprova il provisioning fino al completamento o fino a quando lo stato non diventa PROVISIONING_FAILED_PERMANENTLY .
|
PROVISIONING_FAILED_PERMANENTLY |
Il certificato gestito da Google è stato creato, ma l'autorità di certificazione non può firmarlo a causa di un problema con la configurazione DNS o del bilanciatore del carico. In questo stato, Google Cloud non riprova a eseguire il provisioning. Crea un certificato SSL gestito da Google sostitutivo e assicurati che il certificato sostitutivo sia associato al proxy di destinazione del bilanciatore del carico. Verifica o completa tutti i passaggi descritti in Utilizzo di certificati SSL gestiti da Google. Successivamente, puoi eliminare il certificato per cui il provisioning non è riuscito definitivamente. |
RENEWAL_FAILED |
Il rinnovo del certificato gestito da Google non è riuscito a causa di un problema con la configurazione DNS o del bilanciatore del carico. Se uno dei domini o sottodomini in un certificato gestito non punta all'indirizzo IP del bilanciatore del carico utilizzando un record A/AAAA, la procedura di rinnovo non va a buon fine. Il certificato esistente continua a essere pubblicato, ma scade a breve. Controlla la configurazione. Se lo stato rimane Per ulteriori informazioni sul rinnovo dei certificati, consulta Rinnovare i certificati SSL gestiti da Google. |
Stato dominio
Per controllare lo stato del dominio, esegui il seguente comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(managed.domainStatus)"
I valori per lo stato del dominio sono descritti in questa tabella.
Stato dominio | Spiegazione |
---|---|
PROVISIONING |
Il certificato gestito da Google viene creato per il dominio. Google Cloud sta collaborando con l'autorità di certificazione per firmare il certificato. |
ACTIVE |
Il dominio è stato convalidato per il provisioning del
certificato. Se il certificato SSL è per più domini, il provisioning del certificato può essere eseguito solo quando tutti i domini hanno lo stato ACTIVE e anche lo stato gestito del certificato è ACTIVE .
|
FAILED_NOT_VISIBLE |
Il provisioning del certificato non è stato completato per il dominio. Il problema potrebbe essere uno dei seguenti:
PROVISIONING , Google Cloud continua a riprovare a eseguire il provisioning, anche se lo stato del dominio è FAILED_NOT_VISIBLE .
|
FAILED_CAA_CHECKING |
Il provisioning del certificato non è riuscito a causa di un problema di configurazione con il record CAA del tuo dominio. Assicurati di aver seguito la procedura corretta. |
FAILED_CAA_FORBIDDEN |
Il provisioning del certificato non è riuscito perché il record CAA del dominio non specifica una CA che Google Cloud deve utilizzare. Assicurati di aver seguito la procedura corretta. |
FAILED_RATE_LIMITED |
Il provisioning del certificato non è riuscito perché un'autorità di certificazione ha richieste di firma di certificati con limitazione di frequenza. Puoi eseguire il provisioning di un nuovo certificato, passare all'utilizzo del nuovo certificato ed eliminare il certificato precedente oppure puoi contattare l'assistenza Google Cloud. |
Rinnovo dei certificati gestiti
Se uno dei domini o sottodomini in un certificato gestito non punta all'indirizzo IP del bilanciatore del carico o punta a un IP insieme all'IP del bilanciatore del carico, la procedura di rinnovo non va a buon fine. Per evitare un fallimento del rinnovo, assicurati che tutti i tuoi domini e sottodomini rimandino all'indirizzo IP del bilanciatore del carico.
Risolvere i problemi relativi ai certificati SSL autogestiti
Questa guida descrive come risolvere i problemi di configurazione per i certificati SSL autogestiti.
Impossibile analizzare il certificato
Google Cloud richiede certificati in formato PEM. Se il certificato è in formato PEM, controlla quanto segue:
Puoi convalidare il certificato utilizzando il seguente comando OpenSSL, sostituendo
CERTIFICATE_FILE
con il percorso del file del certificato:
openssl x509 -in CERTIFICATE_FILE -text -noout
Se OpenSSL non è in grado di analizzare il certificato:
- Contatta la tua CA per ricevere assistenza.
- Crea una nuova chiave privata e un nuovo certificato.
Nome comune o nome alternativo del soggetto mancante
Google Cloud richiede che il certificato abbia o un attributo nome comune (CN
) o nome alternativo dell'oggetto (SAN
). Per ulteriori informazioni, consulta Creare un'autoresponsabilità.
Quando entrambi gli attributi sono assenti, Google Cloud mostra un messaggio di errore come il seguente quando provi a creare un certificato autogestito:
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The SSL certificate is missing a Common Name(CN) or Subject Alternative
Name(SAN).
Impossibile analizzare la chiave privata
Google Cloud richiede chiavi private in formato PEM che soddisfino i criteri delle chiavi private.
Puoi convalidare la tua chiave privata utilizzando il seguente comando OpenSSL, sostituendoPRIVATE_KEY_FILE
con il percorso della chiave privata:
openssl rsa -in PRIVATE_KEY_FILE -check
Le seguenti risposte indicano un problema con la chiave privata:
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
Per risolvere il problema, devi creare una nuova chiave privata e un nuovo certificato.
Chiavi private con passphrase
Se OpenSSL richiede una passphrase, dovrai rimuoverla dalla chiave privata prima di poterla utilizzare con Google Cloud. Puoi utilizzare il seguente comando OpenSSL:
openssl rsa -in PRIVATE_KEY_FILE \ -out REPLACEMENT_PRIVATE_KEY_FILE
Sostituisci i segnaposto con valori validi:
PRIVATE_KEY_FILE
: il percorso della chiave privata protetta con una passphraseREPLACEMENT_PRIVATE_KEY_FILE
: il percorso in cui vuoi salvare una copia della chiave privata in testo normale
Certificati intermedi in scadenza
Se un certificato intermedio scade prima del certificato del server (a livello di foglia), potrebbe indicare che la tua CA non segue le best practice.
Quando un certificato intermedio scade, il certificato finale utilizzato in Google Cloud potrebbe diventare non valido. Questo dipende dal client SSL, come segue:
- Alcuni client SSL esaminano solo la data di scadenza del certificato finale e ignorano i certificati intermedi scaduti.
- Alcuni client SSL considerano non valida una catena con certificati intermedi scaduti e mostrano un avviso.
Per risolvere il problema:
- Attendi che la CA passi a un nuovo certificato intermedio.
- Richiedi un nuovo certificato.
- Ricarica il nuovo certificato con le nuove chiavi.
La tua CA potrebbe anche consentire la firma tra certificati per i certificati intermedi. Rivolgiti al tuo CA per conferma.
L'esponente pubblico RSA è troppo grande
Quando l'esponente pubblico RSA è maggiore di
65537, viene visualizzato il seguente messaggio di errore. Assicurati di utilizzare 65537
, come specificato nella RFC 4871.
ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
- The RSA public exponent is too large.
Rimuovi il certificato SSL dal proxy target
I passaggi riportati di seguito mostrano come rimuovere un singolo certificato SSL associato al proxy https di destinazione:
Esporta il proxy https target in un file temporaneo.
gcloud compute target-https-proxies export TARGET_PROXY_NAME > /tmp/proxy
Modifica il file
/tmp/proxy
e rimuovi le seguenti righe:sslCertificates: - https://www.googleapis.com/compute/v1/projects/...
Importa il file
/tmp/proxy
.gcloud compute target-https-proxies import TARGET_PROXY_NAME \ --source=/tmp/proxy
(Facoltativo) Elimina il certificato SSL.
gcloud compute ssl-certificates delete SSL_CERT_NAME
Sostituisci quanto segue:
TARGET_PROXY_NAME
: il nome della risorsa proxy https target.SSL_CERT_NAME
: il nome del certificato SSL.