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:
Gateway API, che puoi utilizzare per creare, proteggere e monitorare le API da utilizzare come proxy dai servizi Cloud Run.
Firebase Hosting, che puoi per creare il frontend di un'applicazione web da usare Cloud Run come backend dinamico.