Risoluzione dei problemi relativi ai certificati SSL

Le procedure di risoluzione dei problemi variano a seconda che tu stia utilizzando Certificati SSL gestiti da Google o autogestiti.

Risoluzione dei problemi dei certificati gestiti da Google

Per i certificati gestiti da Google, esistono due tipi di stato:

  • Stato gestito
  • Stato dominio

Stato gestito

Per verificare lo stato del certificato, esegui questo 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 firmarlo.

Il provisioning di un certificato gestito da Google può richiedere fino a 60 minuti dal momento in cui la configurazione del DNS e del bilanciatore del carico viene modificata sono state propagate su internet. Se hai aggiornato il DNS configurazione di Google Cloud di recente, può richiedere molto tempo modifiche per propagare completamente. A volte la propagazione richiede fino a 72 ore a livello mondiale, anche se in genere richiede alcune ore. Per saperne di più sulla propagazione DNS, consulta Propagazione delle modifiche.

Se il certificato rimane nello stato PROVISIONING, specifica assicurati che i valori sia associato al proxy di destinazione. Puoi verificarlo che esegue gcloud compute target-https-proxies describe o Comando gcloud compute target-ssl-proxies describe.

ACTIVE Il certificato SSL gestito da Google è ottenuto dalla Autorità di certificazione. Potrebbero essere necessari altri 30 minuti disponibili per l'uso da parte di un bilanciatore del carico.
PROVISIONING_FAILED Potresti vedere brevemente PROVISIONING_FAILED anche quando in realtà è ACTIVE. Ricontrolla lo stato.
e
Se lo stato rimane PROVISIONING_FAILED, il certificato gestito da Google è stato creato, ma l'autorità di certificazione non può firmarlo. Assicurati di completato tutti i passaggi Utilizzando Certificati SSL gestiti da Google.
e
Nuovi tentativi in Google Cloud fino a quando non viene eseguito correttamente o lo stato 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 di configurazione del DNS o del bilanciatore del carico. Nella in questo stato, Google Cloud non riprova a eseguire il provisioning.

Crea un certificato SSL sostitutivo gestito da Google e assicurati che che la sostituzione sia associata al proxy di destinazione del bilanciatore del carico. Verifica o completa tutti i passaggi in Utilizzo dei certificati SSL gestiti da Google In seguito, puoi eliminare il certificato il cui provisioning non è riuscito definitivamente.
RENEWAL_FAILED

Il rinnovo del certificato gestito da Google non è riuscito a causa di un problema con del bilanciatore del carico o della configurazione DNS. Se uno dei domini o sottodomini in un certificato gestito non puntano 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 RENEWAL_FAILED, eseguire il provisioning di un nuovo certificato, passare all'utilizzo del nuovo certificato e per eliminare il certificato precedente.

Per ulteriori informazioni sul rinnovo del certificato, vedi Rinnovo del certificato SSL gestito da Google.

Stato dominio

Per verificare lo stato del dominio, esegui questo comando:

gcloud compute ssl-certificates describe CERTIFICATE_NAME \
    --global \
    --format="get(managed.domainStatus)"

In questa tabella sono descritti i valori relativi allo stato del dominio.

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 la certificato.
ACTIVE Il dominio è stato convalidato per il provisioning del certificato. Se il certificato SSL è destinato a più domini, il certificato il provisioning del certificato può essere eseguito solo quando tutti i domini hanno un ACTIVE e lo stato gestito del è anch'esso ACTIVE.
FAILED_NOT_VISIBLE

Il provisioning dei certificati non è stato completato per il dominio. Uno degli il problema potrebbe essere questo:

  • Il record DNS del dominio non si risolve nell'indirizzo IP del con il bilanciatore del carico di Google Cloud. Per risolvere il problema, aggiorna i record DNS A e AAAA in modo che puntino all'indirizzo IP del bilanciatore del carico, .

    Il DNS non deve risolversi in nessun altro indirizzo IP diverso da dei bilanciatori del carico. Ad esempio, se un record A viene risolto nel codice ma il bilanciatore del carico AAAA si risolve in qualcos'altro, il dominio lo stato è FAILED_NOT_VISIBLE.

  • I record DNS A e AAAA appena aggiornati possono richiedere una quantità significativa necessarie per la propagazione completa. A volte la propagazione attraverso la connessione a internet impiega fino a 72 ore in tutto il mondo, anche se in genere per alcune ore. Lo stato del dominio continua a essere FAILED_NOT_VISIBLE fino al completamento della propagazione.
  • Il certificato SSL non è collegato al proxy di destinazione del bilanciatore del carico. Per risolvere il problema problema, aggiornare la configurazione del bilanciatore del carico.
  • Le porte di frontend per la regola di forwarding globale non includono porta 443 per un bilanciatore del carico di rete proxy esterno con un proxy SSL. Il problema può essere risolto aggiungendo una nuova regola di forwarding con la porta 443.
  • Una mappa di certificati del gestore certificati è collegata al proxy di destinazione. La mappa di certificati allegata ha la precedenza e i certificati collegati direttamente vengono ignorati. Il problema si può risolvere scollegando la mappa di certificati dal proxy.
  • Se lo stato di gestione è PROVISIONING, Google Cloud continua a riprovare 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 del tuo dominio Record CAA. Assicurati di avere seguito la procedura corretta.
FAILED_CAA_FORBIDDEN Il provisioning del certificato non è riuscito perché il record CAA del tuo dominio non specifica una CA che Google Cloud deve utilizzare. Assicurati di avere aver seguito la procedura corretta.
FAILED_RATE_LIMITED Il provisioning del certificato non è riuscito perché un'autorità di certificazione ha con limitazioni di frequenza delle richieste di firma dei certificati. Puoi eseguire il provisioning di un nuovo certificato, passare all'utilizzo del nuovo certificato e eliminare il certificato precedente oppure contattare assistenza Google Cloud.

Rinnovo dei certificati gestiti

Se uno dei domini o sottodomini in un certificato gestito non punta a all'indirizzo IP del bilanciatore del carico oppure che rimandano a un IP insieme all'IP del bilanciatore del carico, il processo di rinnovo non va a buon fine. Per evitare il rinnovo in errore, assicurati che tutti i domini e i sottodomini indirizzino alla l'indirizzo IP del bilanciatore del carico.

Risolvere i problemi relativi ai certificati SSL autogestiti

Questa guida descrive come risolvere i problemi di configurazione per l'autogestito Certificati SSL.

Impossibile analizzare il certificato

Google Cloud richiede certificati in PEM standard. 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:

Nome comune mancante o nome alternativo del soggetto

Google Cloud richiede che il certificato abbia o un nome comune (CN) o nome alternativo del soggetto (SAN). Consulta la sezione Creare un CSR per ulteriori informazioni.

Quando entrambi gli attributi sono assenti, Google Cloud visualizza un messaggio di errore come riportato di seguito quando provi a creare un account certificato:

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 soddisfano i requisiti private chiave criteri.

Puoi convalidare la tua chiave privata utilizzando il seguente comando OpenSSL, sostituendo PRIVATE_KEY_FILE con il percorso della tua chiave privata:

    openssl rsa -in PRIVATE_KEY_FILE -check

Le seguenti risposte indicano un problema con la tua 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 certificato.

Chiavi private con passphrase

Se OpenSSL richiede una passphrase, dovrai rimuovere la passphrase da la chiave privata prima di poterla utilizzare con Google Cloud. Puoi utilizzare lo 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 protetto con una passphrase
  • REPLACEMENT_PRIVATE_KEY_FILE: il percorso in cui salvare una copia della tua chiave privata in testo normale

Certificati intermedi in scadenza

Se un certificato intermedio scade prima del certificato del server (foglio), questo potrebbe indicare che la tua CA non sta seguendo le best practice.

Quando un certificato intermedio scade, il certificato foglia utilizzato in Google Cloud potrebbe non essere più valido. Questo dipende dal client SSL, che segue:

  • Alcuni client SSL considerano solo l'ora di scadenza del certificato leaf e ignorano i certificati intermedi scaduti.
  • Alcuni client SSL trattano una catena con certificati intermedi scaduti non validi e mostreranno un avviso.

Per risolvere il problema:

  1. Attendi che la CA passi a un nuovo certificato intermedio.
  2. Richiedi un nuovo certificato al team.
  3. Ricarica il nuovo certificato con le nuove chiavi.

La tua CA potrebbe anche consentire la firma incrociata per i certificati intermedi. Verifica con la tua 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 in RFC 4871

ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
 -   The RSA public exponent is too large.

Rimuovi certificato SSL da proxy-target

I passaggi seguenti mostrano come rimuovere un singolo certificato SSL collegato al proxy https di destinazione:

  1. Esporta il proxy target-https-proxy in un file temporaneo.

    gcloud compute target-https-proxies export TARGET_PROXY_NAME > /tmp/proxy
    
  2. Modifica il file /tmp/proxy e rimuovi le seguenti righe:

    sslCertificates:
    -   https://www.googleapis.com/compute/v1/projects/...
    
  3. Importa il file /tmp/proxy.

    gcloud compute target-https-proxies import TARGET_PROXY_NAME \
       --source=/tmp/proxy
    
  4. (Facoltativo) Elimina il certificato SSL.

    gcloud compute ssl-certificates delete SSL_CERT_NAME
    

Sostituisci quanto segue:

  • TARGET_PROXY_NAME: il nome dell'https di destinazione risorsa proxy.
  • SSL_CERT_NAME: il nome del certificato SSL.