Richiama con una richiesta HTTPS

Puoi inviare richieste HTTPS da qualsiasi dispositivo 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.

Alcuni dei casi d'uso includono:

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

Crea servizi pubblici

Per creare un servizio pubblico su Cloud Run è necessario:

  • Accesso al servizio dalla rete internet pubblica
  • Un URL destinato all'uso pubblico

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

Puoi utilizzare l'URL stabile e assegnato automaticamente fornito al momento del primo deployment del 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, mentre SERVICE_IDENTIFIER è un identificatore univoco e stabile 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.

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

Puoi anche utilizzare il tuo dominio personalizzato.

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 la pagina Utilizzare HTTP/2.

Crea servizi privati

Per creare un servizio privato su Cloud Run è necessario limitare l'accesso al servizio sfruttando l'autorizzazione del callback IAM.

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

Testare i servizi privati

Il modo più semplice per testare i servizi privati è utilizzare il proxy Cloud Run in Google Cloud CLI. Questo esegue il proxy del servizio privato a 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 usare un browser web o uno strumento come curl. Questo è il metodo consigliato per testare in privato un sito web o un'API nel tuo browser.

Puoi eseguire il proxy di un servizio localmente utilizzando la seguente riga di comando in un ambiente Linux, macOS, WSL (opzione preferita) o cygwin:

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

Private Service to Service

Un servizio Cloud Run può chiamare un altro servizio Cloud Run con autenticazione da servizio a servizio.

Codice campione 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 service-to-service.

Uso di un middleware per migliorare il servizio.

I proxy HTTPS possono ridurre il carico di funzionalità comuni di un servizio HTTP, come la memorizzazione nella cache, la convalida delle richieste o l'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: