Le procedure per la risoluzione dei problemi dipendono dal tipo di certificati SSL utilizzati.
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 questo comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(name,managed.status)"
I valori per 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 DNS e del bilanciatore del carico sono state propagate su internet. Se hai aggiornato di recente la configurazione DNS, potrebbe essere necessario un periodo di tempo significativo prima che le modifiche vengano propagate completamente. A volte la propagazione richiede fino a 72 ore a livello mondiale, anche se in genere bastano poche ore. Per saperne di più sulla propagazione DNS, vedi 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 possa essere utilizzato da un bilanciatore del carico. |
PROVISIONING_FAILED |
Potresti visualizzare brevemente PROVISIONING_FAILED anche se il tuo
certificato è in realtà 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 tentativi di provisioning fino al completamento o fino a quando lo stato non cambia in 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 il provisioning. Crea un certificato SSL gestito da Google sostitutivo e assicurati che 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 in modo permanente. |
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, il processo di rinnovo non va a buon fine. Il certificato esistente continua a essere pubblicato, ma scadrà a breve. Controlla la configurazione. Se lo stato rimane Per ulteriori informazioni sul rinnovo dei certificati, consulta Rinnovo dei certificati SSL gestiti da Google. |
Stato dominio
Per controllare lo stato del dominio, esegui questo comando:
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(managed.domainStatus)"
I valori per 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 correttamente per il provisioning del
certificato. Se il certificato SSL è per più domini, il
certificato può essere sottoposto a provisioning solo dopo che tutti i domini hanno lo
stato ACTIVE e lo stato gestito del
certificato è anch'esso 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
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 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 una limitazione di frequenza per le richieste di firma di certificati. Puoi eseguire il provisioning di un nuovo certificato, passare a utilizzare il nuovo certificato ed eliminare il certificato precedente oppure puoi contattare l'Google Cloud assistenza. |
Rinnovo dei certificati gestiti
Per assicurarti che i tuoi certificati non superino il passaggio di convalida del dominio della procedura di rinnovo, consulta i requisiti per i record A e AAAA del DNS.
Convalida del dominio da più punti di vista
Google Cloud rinnova periodicamente i certificati gestiti da Google richiedendoli alle autorità di certificazione (CA). Le CA con cui Google Cloud collabora per rinnovare i certificati utilizzano un metodo di convalida del dominio multi-prospettiva noto come Multi-Perspective Issuance Corroboration (MPIC). Nell'ambito di questa procedura, le autorità di certificazione verificano il controllo del dominio controllando le impostazioni DNS del dominio e tentando di contattare il server dietro l'indirizzo IP del dominio. Queste verifiche vengono eseguite da più punti di vista su internet. Se il processo di convalida non riesce, i certificati gestiti da Google non vengono rinnovati. Di conseguenza, il bilanciatore del carico fornisce un certificato scaduto ai client, causando errori di certificato per gli utenti del browser e errori di connessione per i client API.
Per evitare errori di convalida del dominio da più prospettive per record DNS configurati in modo errato, tieni presente quanto segue:
- I record A DNS (IPv4) e AAAA DNS (IPv6) per i tuoi domini e qualsiasi sottodominio puntano solo all'indirizzo IP (o agli indirizzi) associato alla regola (o alle regole) di regola di forwarding del bilanciatore del carico. La presenza di altri indirizzi nel record può causare un errore di convalida.
- L'autorità di certificazione, che esegue la convalida dei record DNS, esegue query sui record DNS da più località. Assicurati che il tuo provider DNS risponda in modo coerente a tutte le richieste di convalida del dominio globale.
- L'utilizzo di GeoDNS (che restituisce indirizzi IP diversi in base alla posizione della richiesta) o di criteri DNS basati sulla posizione può portare a risposte incoerenti e causare un errore di convalida. Se il tuo provider DNS utilizza GeoDNS, disabilitalo o assicurati che tutte le regioni restituiscano lo stesso indirizzo IP del bilanciatore del carico.
- Devi specificare esplicitamente gli indirizzi IP del bilanciatore del carico nella configurazione DNS. I livelli intermedi, come una CDN, possono causare comportamenti imprevedibili. L'indirizzo IP deve essere direttamente accessibile senza reindirizzamenti, firewall o CDN nel percorso della richiesta. Per saperne di più, consulta la sezione Bilanciatori del carico dietro una CDN di questo documento.
- Ti consigliamo di utilizzare uno strumento di controllo della propagazione DNS globale a tua scelta per verificare che tutti i record DNS pertinenti vengano risolti in modo corretto e coerente in tutto il mondo.
Verificare le modifiche alla configurazione
Dopo aver configurato i record DNS, puoi verificare che siano corretti creando un nuovo certificato e collegandolo al bilanciatore del carico insieme al certificato esistente. Questo passaggio forza un controllo immediato del provisioning dei certificati con l'autorità di certificazione, consentendoti di verificare le modifiche alla configurazione in pochi minuti. Senza questa operazione, i rinnovi automatici del certificato esistente possono richiedere giorni o settimane, lasciando incertezza sulla configurazione.
Se lo stato del certificato diventa ACTIVE
, significa che
il certificato è stato emesso, confermando così che la configurazione DNS
è corretta. A questo punto, ti consigliamo di rimuovere il certificato precedente
per evitare di avere due certificati separati per lo stesso dominio. Questo processo
non interrompe il traffico verso il bilanciatore del carico.
Il nuovo certificato funge da strumento di convalida: la sua creazione conferma che la convalida del dominio multiprospettiva tramite MPIC funziona correttamente per la tua configurazione.
Bilanciatori del carico dietro una CDN
Per i bilanciatori del carico in cui è abilitata la CDN, alcuni provider CDN di terze parti nel percorso della richiesta potrebbero impedire la riuscita delle richieste di convalida. Ciò può accadere se il provider CDN esegue il proxy del traffico HTTP(S).
In questi casi, ti consigliamo di migrare i certificati a Certificate Manager e di utilizzare il metodo di autorizzazione DNS per eseguire il provisioning dei certificati gestiti da Google. Quest'ultimo approccio non richiede all'autorità di certificazione di contattare il 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 riesce ad analizzare il certificato:
- Contatta la 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 un attributo nome comune
(CN
) o nome alternativo del soggetto (SAN
). Per ulteriori informazioni, vedi Creare una
richiesta di firma del certificato.
Quando entrambi gli attributi sono assenti, Google Cloud visualizza un messaggio di errore come il seguente quando tenti di 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 della chiave privata.
Puoi convalidare la chiave privata utilizzando il seguente comando OpenSSL, sostituendo
PRIVATE_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 formato di testo normale
Certificati intermedi in scadenza
Se un certificato intermedio scade prima del certificato server (foglia), potrebbe significare che la tua CA non segue le best practice.
Quando un certificato intermedio scade, il certificato foglia utilizzato in Google Cloud potrebbe non essere più valido. Dipende dal client SSL, come segue:
- Alcuni client SSL esaminano solo la data di scadenza del certificato foglia e ignorano i certificati intermedi scaduti.
- Alcuni client SSL considerano una catena con uno o più certificati intermedi scaduti non valida e mostrano un avviso.
Per risolvere il problema:
- Attendi che la CA passi a un nuovo certificato intermedio.
- Richiedi un nuovo certificato.
- Carica di nuovo il nuovo certificato con le nuove chiavi.
La tua CA potrebbe anche consentire la firma incrociata per i certificati intermedi. Verifica con il tuo CA per confermare.
L'esponente pubblico RSA è troppo grande
Il seguente messaggio di errore viene visualizzato quando l'esponente pubblico RSA è maggiore di
65537. 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 da target-proxy
I passaggi che seguono mostrano come rimuovere un singolo certificato SSL collegato al proxy https di destinazione:
Esporta il proxy HTTPS di destinazione 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 di destinazione.SSL_CERT_NAME
: il nome del certificato SSL.