Richiama con una richiesta HTTPS

Puoi inviare richieste HTTPS da qualsiasi dispositivo in grado di attivare richieste HTTPS è un servizio ospitato su Cloud Run. Tieni presente che tutti i servizi Cloud Run abbiano 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, impostalo in modo da consentire i servizi non autenticati (pubblici) quando esegui il deployment o in qualsiasi momento dopo il deployment.

Puoi utilizzare l'URL stabile e assegnato automaticamente fornito al momento del primo deployment il 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 di un servizio Cloud Run ha il formato https://[TAG---]SERVICE_IDENTIFIER.run.app, dove TAG si riferisce al tag del traffico per la revisione di cui e SERVICE_IDENTIFIER è un indirizzo stabile e univoco per un servizio Cloud Run. Non analizzare SERVICE_IDENTIFIER poiché 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 tua pagina potrebbe essere soggetti ad avvisi o errori relativi a contenuti misti. Utilizza il protocollo https per tutti gli URI web o gli account di riferimento 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 vengono inviate al container. Se vuoi impostare esplicitamente il servizio per utilizzare HTTP/2 end-to-end, consulta Utilizzo di HTTP/2.

Crea servizi privati

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

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

Testare i servizi privati

Il modo più semplice per testare i servizi privati è utilizzare Proxy Cloud Run in Google Cloud CLI. In questo modo il servizio privato viene delegato 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 riga di comando seguente 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 Cloud Run con l'autenticazione da servizio a servizio.

Codice campione che richiama un servizio privato

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

Uso di un middleware per migliorare il servizio.

I proxy HTTPS possono ridurre il carico di funzionalità comuni di un servizio HTTP, come per la memorizzazione nella cache, la convalida delle richieste o l'autorizzazione. Per i microservizi, molti proxy HTTP Fanno parte di una soluzione API Gateway o un mesh di servizi come Istio.

Prodotti Google Cloud che puoi utilizzare per migliorare il tuo servizio Cloud Run include: