Richiamare con una richiesta HTTPS

Puoi inviare richieste HTTPS da qualsiasi supporto in grado di eseguire 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 RESTful web personalizzata
  • Microservizio privato
  • Middleware HTTP o proxy inverso per le applicazioni web
  • Applicazione web preconfezionata

Crea 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 e 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 fa riferimento 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.

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 tieni conto delle istruzioni relative al proxy nella richiesta HTTP, ad esempio 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 Utilizzare HTTP/2.

Crea servizi privati

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

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

Testa i servizi privati

Il modo più semplice per testare i servizi privati è utilizzare il proxy Cloud Run in Google Cloud CLI. Questo comando 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. Questa operazione ti consente di utilizzare un browser web o uno strumento come curl. Questo è il modo 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 Linus, 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 l'autenticazione da servizio a servizio.

Codice campione che richiama un servizio privato

Per esempi di codice che mostrano come ottenere un token ID e inviare una richiesta HTTP a un servizio privato, consulta l'argomento Autenticazione service-to-service.

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: