Puoi inviare richieste HTTPS da qualsiasi supporto in grado di eseguirle per attivare un servizio ospitato su Cloud Run. Tieni presente che tutti i servizi Cloud Run hanno un URL HTTPS stabile.
Alcuni casi d'uso includono:
- API RESTful web personalizzata
- Microservizio privato
- Proxy HTTP o proxy inverso per le applicazioni web
- Applicazione web predefinita
Creazione di servizi pubblici
Per creare un servizio pubblico su Cloud Run sono necessari:
- Accesso al servizio dalla rete Internet pubblica
- Un URL destinato all'uso pubblico
Per rendere pubblico un servizio, impostalo in modo da consentire l'accesso non autenticato (pubblico) durante il deployment o in qualsiasi momento dopo il deployment.
Puoi utilizzare come URL pubblico su Cloud Run l'URL stabile assegnato automaticamente al primo deployment del tuo servizio. 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 è nel formato https://[
TAG---]
SERVICE_IDENTIFIER.run.app
, dove TAG si riferisce al tag di traffico per la revisione richiesta e 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 SERVICE_IDENTIFIER è soggetta a modifiche.
Puoi anche utilizzare il tuo dominio personalizzato che è mappato al servizio. Questo fornisce 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 fanno riferimento ad altre risorse web con URL non protetti (http://
), la pagina potrebbe essere soggetta a avvisi o errori di contenuti misti.
Usa il protocollo https
per tutti gli URI web di riferimento o per gli account per le istruzioni proxy nella richiesta HTTP, ad esempio 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 vengono inviate al container. Se vuoi impostare esplicitamente il servizio in modo che utilizzi HTTP/2 end-to-end, consulta l'articolo Utilizzo di HTTP/2.
Creazione di servizi privati
Per creare un servizio privato su Cloud Run è necessario limitare l'accesso al servizio sfruttando l'autorizzazione di callback IAM.
Puoi anche limitare l'accesso a un servizio utilizzando l'autorizzazione e il meccanismo di autenticazione a livello di applicazione, ad esempio utilizzando Identity Platform.
Test di servizi privati
Il modo più semplice per testare i servizi privati è utilizzare il proxy Cloud Run in Google Cloud CLI.
In questo modo il servizio privato viene proxy a http://localhost:8080
(o alla porta specificata con --port
),
fornendo il token dell'account attivo o un altro token specificato.
Puoi utilizzare un browser web o uno strumento come curl
.
Questo è il metodo consigliato per testare privatamente un sito web o un'API nel browser.
Puoi eseguire il proxy locale di un servizio utilizzando il comando seguente:
gcloud beta run services proxy SERVICE --project PROJECT-ID
Puoi anche testare i servizi privati senza il proxy utilizzando uno strumento come curl
, trasmettendo 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 service-to-service.
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 da servizio a servizio.
Uso di un middleware per migliorare il servizio
I proxy HTTPS possono trasferire le funzionalità comuni da un servizio HTTP, come memorizzazione nella cache, richiesta di convalida o autorizzazione. Per i microservizi, molti proxy HTTP fanno parte di una soluzione di API Gateway o di un mesh di servizi come Istio.
I prodotti Google Cloud che puoi utilizzare per migliorare il tuo servizio Cloud Run includono:
API Gateway, che puoi utilizzare per creare, proteggere e monitorare le API da utilizzare come proxy per altri servizi Cloud Run.
Firebase Hosting, che puoi utilizzare per creare un frontend per l'applicazione web da utilizzare con Cloud Run come backend dinamico.