Se vuoi utilizzare HTTPS,
- Il contenitore dovrebbe continuare ad ascoltare su
$PORT
Devi scegliere come fornire i certificati TLS:
- Utilizza certificati TLS gestiti, dove i certificati TLS vengono automaticamente vengono creati in base alle esigenze e vengono rinnovati automaticamente. In questa pagina viene descritto disponibile in versioni di Google Kubernetes Engine supportate.
- Utilizza i tuoi certificati, in cui si occuperanno dell'ottenimento e del rinnovo dei certificati. In alcune situazioni, descritte nella sezione Limitazioni, devi utilizzare i tuoi certificati.
Se utilizzi certificati gestiti, devi anche mappa il tuo dominio personalizzato per utilizzare il dei certificati gestiti.
Utilizzo di HTTPS e HTTP
Per impostazione predefinita, se utilizzi certificati gestiti, cluster o Knative serving i servizi con certificati gestiti sono esposti al traffico sia HTTP che HTTPS. Se vuoi solo il traffico HTTPS, puoi attivare i reindirizzamenti HTTPS per per forzare tutto il traffico a usare solo HTTPS.
Risoluzione dei problemi
Se si verificano problemi durante l'utilizzo dei certificati TLS gestiti, consulta le pagina per la risoluzione dei problemi relativi a TLS gestito.
Limitazioni
Le seguenti considerazioni si applicano all'uso dei certificati TLS gestiti funzionalità:
- I certificati TLS gestiti sono disabilitati e non supportati per Knative serving di cluster privati su Google Cloud.
- Per utilizzare la funzionalità dei certificati gestiti, il servizio deve essere esposte esternamente: non possono essere cluster-locale o un servizio esposto da Virtual Private Cloud.
- La funzionalità dei certificati gestiti funziona solo con Cloud Service Mesh. Il servizio Istio il componente aggiuntivo o altre configurazioni Istio non sono supportati.
- Questa funzionalità usa Let's Encrypt, che ha un limite di quota iniziale di 50 certificati TLS a settimana per dominio registrato. Tu può richiedere un aumento della quota seguendo le Vediamo la documentazione di Crittografia.
- Durante l'esecuzione di un cluster Knative serving su altre piattaforme, ad esempio on-prem o AWS, questa funzionalità è disabilitata. Per utilizzare questa funzione, devi apportare assicurati che il cluster sia in grado di accedere Crittografia e il tuo Cloud Service Mesh in entrata sia esposto alla rete internet pubblica.
Prima di iniziare
Le istruzioni riportate in questa pagina presuppongono quanto segue:
- Hai eseguito il deployment del tuo servizio Knative serving in nel cluster.
- Possiedi un dominio. Se non hai un dominio, puoi ottenerne uno da Google o di un altro fornitore di dominio.
- Hai creato una mappatura di dominio per il tuo servizio e hai aggiornato il DNS registrare i contenuti seguendo le istruzioni riportate pagina di mappatura dei domini.
- Utilizza Cloud DNS, o un server DNS di tua scelta.
Disabilitazione di certificati TLS gestiti e HTTPS per l'intero cluster
Disabilita TLS gestito per un cluster aggiornando il ConfigMap
config-domainmapping
:
kubectl patch cm config-domainmapping -n knative-serving -p '{"data":{"autoTLS":"Disabled"}}'
Disabilitazione di TLS e HTTPS gestiti per una mappatura di dominio specifica
Se necessario, puoi disattivare il protocollo TLS gestito per una mappatura di dominio specifica:
Aggiungi l'annotazione
domains.cloudrun.com/disableAutoTLS: "true"
`:kubectl annotate domainmappings DOMAIN domains.cloudrun.com/disableAutoTLS=true
Verifica che HTTPS non funzioni:
curl https://DOMAIN
Verifica che HTTP sia in uso per il servizio:
gcloud run domain-mappings describe --domain DOMAIN
Sostituisci DOMAIN con il tuo nome di dominio, ad esempio:
your-domain.com
Controlla il campo
url:
nella restituzione del comando precedente: l'URL deve hannohttp
, nonhttps
.
Riattivazione dei certificati TLS gestiti e HTTPS
Per riattivare il protocollo TLS gestito:
Se non l'hai ancora fatto, crea una mappatura di dominio per il tuo servizio. aggiorna il tuo record DNS di conseguenza seguendo le istruzioni riportate pagina di mappatura dei domini.
Attiva i certificati TLS gestiti e HTTPS aggiornando il ConfigMap
config-domainmapping
:kubectl patch cm config-domainmapping -n knative-serving -p '{"data":{"autoTLS":"Enabled"}}'
Attendi alcuni minuti dopo l'esito positivo del comando, quindi assicurati che la funzionalità dei certificati funziona:
kubectl get kcert
Se il certificato è pronto, dovresti visualizzare un messaggio simile al seguente:
NAME READY REASON your-domain.com True
Potrebbero essere necessari da 20 secondi a 2 minuti prima che
Kcert
sia pronto. Se si verificano problemi, consulta le istruzioni per la risoluzione dei problemi relativi a questo funzionalità.
Verifica riuscita
Verifica che il record DNS sia entrato in vigore eseguendo questo comando:
gcloud run domain-mappings describe --domain DOMAIN
Sostituisci DOMAIN con il tuo nome di dominio, ad esempio:
your-domain.com
Controlla il campo
url:
nella restituzione del comando precedente: l'URL deve hannohttps
, nonhttp
.Controlla l'indirizzo IP dal comando precedente, elencato sotto
resourceRecords:rrdata
e confrontarlo con il valore che vedi quando esegui l'operazione il comandohost DOMAIN
. Devono essere uguali.
Abilitazione dei reindirizzamenti HTTPS per Knative serving
Se utilizzi la funzionalità dei certificati TLS gestiti, per impostazione predefinita il cluster è esposte al traffico sia HTTP che HTTPS per motivi di compatibilità con le versioni precedenti. Se Se vuoi forzare tutto il traffico a usare solo HTTPS, puoi attivare i reindirizzamenti HTTPS per una mappatura di dominio esistente richiamando il comando
kubectl annotate domainmappings DOMAIN domains.cloudrun.com/httpsRedirect=Enabled
dove DOMAIN è il nome della mappatura di dominio.
Argomenti correlati
- Risoluzione dei problemi relativi a TLS gestito per dettagli su come verificare le mappature dei domini, le quote dei certificati, lo stato degli ordini timeout degli ordini e errori di autorizzazione.
- Utilizza i tuoi certificati TLS per istruzioni sull'utilizzo dei tuoi certificati TLS anziché del sistema TLS gestito certificati.