Richiamo con una richiesta HTTPS

Puoi inviare richieste HTTPS da qualsiasi supporto in grado di effettuare richieste HTTPS per attivare un servizio ospitato su Cloud Run. Tieni presente che tutti i servizi Cloud Run hanno un URL HTTPS stabile.

Ecco alcuni casi d'uso:

  • API RESTful personalizzata
  • Microservizio privato
  • Middleware HTTP o proxy inverso per le tue applicazioni web
  • Applicazione web preconfezionata

Creazione di servizi pubblici

La creazione di un servizio pubblico su Cloud Run richiede:

  • Accesso al servizio dalla rete internet pubblica
  • Un URL destinato a un uso pubblico

Per rendere pubblico un servizio, impostalo in modo da consentire l'accesso non autenticato (pubblico) quando deploy o in qualsiasi momento dopo il deployment.

Puoi utilizzare l'URL stabile assegnato automaticamente fornito al primo deployment del tuo servizio come URL pubblico su Cloud Run. Per determinare l'URL di un servizio di cui è stato eseguito il deployment:

gcloud run services describe SERVICE --format 'value(status.url)'

L'URL per un servizio Cloud Run ha il formato https://[TAG---]SERVICE_IDENTIFIER.run.app, dove TAG si riferisce al tag di traffico per la revisione che stai richiedendo e SERVICE_IDENTIFIER è un identificatore stabile e univoco per un servizio Cloud Run. Non analizzare SERVICE_IDENTIFIER perché non ha un formato fisso e la logica per la generazione di SERVICE_IDENTIFIER è soggetta a modifiche.

Puoi anche utilizzare un dominio personalizzato mappato al servizio. In questo modo, vengono forniti automaticamente i certificati SSL gestiti.

Cloud Run reindirizza tutte le richieste HTTP a HTTPS, ma termina TLS prima che raggiungano il tuo servizio web. Se il servizio genera risorse web che fa riferimento ad altre risorse web con URL non protetti (http://), la pagina potrebbe essere soggetta a errori o avvisi di contenuti misti. Utilizza il protocollo https per tutti gli URI web di riferimento o per account per le istruzioni proxy nella richiesta HTTP, come l'intestazione HTTP X-Forwarded-Proto.

HTTP e HTTP/2

Per impostazione predefinita, Cloud Run esegue il downgrade delle richieste HTTP/2 a HTTP/1 quando queste vengono inviate al container. Se vuoi impostare esplicitamente il servizio in modo che utilizzi HTTP/2 end-to-end, consulta Utilizzo di HTTP/2.

Creazione di servizi privati

La creazione di un servizio privato in Cloud Run richiede di limitare l'accesso al servizio utilizzando l'autorizzazione Invoker IAM.

Puoi anche limitare l'accesso a un servizio utilizzando il meccanismo di autorizzazione e autenticazione a livello di applicazione, ad esempio mediante Identity Platform.

Test dei servizi privati

Il modo più semplice per testare i servizi privati è utilizzare il proxy Cloud Run in Google Cloud CLI. Questo esegue il proxy tra il servizio privato e la porta http://localhost:8080 (o alla porta specificata con --port), fornendo il token dell'account attivo o un altro token da te specificato. In questo modo puoi utilizzare un browser web o uno strumento come curl. Questo è il metodo consigliato per testare privatamente un sito web o un'API nel tuo browser.

Puoi utilizzare il proxy locale per un servizio utilizzando il seguente comando:

gcloud run services proxy SERVICE --project PROJECT-ID

Puoi anche testare i servizi privati senza il proxy utilizzando uno strumento come curl, passando un token di autenticazione nell'intestazione Authorization:

curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" SERVICE_URL

Servizio privato

Un servizio Cloud Run può chiamare un altro servizio Cloud Run con l'autenticazione tra servizi.

Codice di esempio che richiama un servizio privato

Per esempi di codice che mostrano come ottenere un token ID ed effettuare una richiesta HTTP a un servizio privato, consulta l'argomento Autenticazione tra servizi.

Utilizzo di un middleware per migliorare il servizio

I proxy HTTPS possono trasferire le funzionalità comuni di un servizio HTTP, ad esempio memorizzazione nella cache, convalida delle richieste o autorizzazione. Per i microservizi, molti proxy HTTP fanno parte di una soluzione gateway API o di un mesh di servizi come Istio.

I prodotti Google Cloud che puoi utilizzare per migliorare il tuo servizio Cloud Run includono: