

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Usare gRPC con le distribuzioni CloudFront
<a name="distribution-using-grpc"></a>

Amazon CloudFront supporta gRPC, un framework RPC (Remote Procedure Call) open source basato su HTTP/2. gRPC offre streaming bidirezionale e protocollo binario che bufferizza i payload, rendendolo adatto per applicazioni che richiedono comunicazioni a bassa latenza.

CloudFront riceve le tue richieste gRPC e le invia direttamente alle tue origini. È possibile utilizzare CloudFront per proxy quattro tipi di servizi gRPC:
+ RPC unario
+ Streaming del server RPC
+ Streaming del client RPC
+ Streaming bidirezionale RPC

## Come funziona gRPC in CloudFront
<a name="how-grpc-works-cloudfront"></a>

Per configurare gRPC in CloudFront, imposta un'origine che fornisca un servizio gRPC come origine della distribuzione. È possibile utilizzare origini che forniscono servizi non gRPC e gRPC. CloudFront determina se la richiesta in arrivo è una richiesta gRPC o una richiesta HTTP/HTTPS in base all'intestazione. `Content-Type` Se l'`Content-Type`intestazione di una richiesta ha il valore di`application/grpc`, la richiesta viene considerata una richiesta gRPC CloudFront e invierà la richiesta come proxy alla tua origine.

**Nota**  
Per consentire a una distribuzione di gestire le richieste gRPC, includi HTTP/2 come una delle versioni HTTP supportate e consenti i metodi HTTP, incluso `POST`. L'endpoint di origine gRPC deve essere configurato per supportare HTTPS, poiché supporta CloudFront solo connessioni gRPC sicure (basate su HTTPS). gRPC supporta solo HTTPS. end-to-end Se utilizzi un’origine personalizzata, verifica che le impostazioni [Protocollo](DownloadDistValuesOrigin.md#DownloadDistValuesOriginProtocolPolicy) supportino HTTPS.

Per abilitare il supporto gRPC per la distribuzione, completa le seguenti fasi:

1. Aggiorna il comportamento cache della distribuzione per consentire i metodi HTTP, incluso il metodo `POST`.

1. Dopo aver selezionato il metodo `POST`, seleziona la casella di controllo gRPC che viene visualizzata.

1. Specifica **HTTP/2** come una delle versioni HTTP supportate. 

Per ulteriori informazioni, consulta i seguenti argomenti:
+ [Consentire richieste gRPC su HTTP/2](DownloadDistValuesCacheBehavior.md#enable-grpc-distribution)
+ [GrpcConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GrpcConfig.html)nell'*Amazon CloudFront API Reference*

Poiché gRPC è utilizzato solo per traffico API non memorizzabile nella cache, le configurazioni della cache non influiranno sulle richieste gRPC. Puoi usare una policy di richiesta di origine per aggiungere intestazioni personalizzate alle richieste gRPC inviate alla all’origine gRPC. È possibile utilizzare AWS WAF with CloudFront per gestire l'accesso alla distribuzione gRPC, controllare i bot e proteggere le applicazioni gRPC dagli exploit web. CloudFront [gRPC supporta CloudFront le funzioni.](cloudfront-functions.md)

Oltre allo stato HTTPS, riceverai grpc-status insieme alla risposta gRPC. Per un elenco dei valori possibili per grpc-status, consulta [Codici di stato e loro utilizzo in gRPC](https://grpc.github.io/grpc/core/md_doc_statuscodes.html).

**Note**  
gRPC non supporta le seguenti funzionalità: CloudFront   
[Risposte di errore personalizzate](GeneratingCustomErrorResponses.md)
 Il [failover di Origin](high_availability_origin_failover.md) non è supportato con gRPC, poiché gRPC utilizza il metodo. `POST` CloudFront esegue il failover sull'origine secondaria solo quando il metodo HTTP della richiesta del visualizzatore è`GET`, `HEAD` o. `OPTIONS`
CloudFront invia le richieste gRPC direttamente all'origine e ignora la Regional Edge Cache (REC). Poiché gRPC aggira il REC, gRPC non supporta [Lambda@Edge](lambda-at-the-edge.md) o [Origin Shield](origin-shield.md).
gRPC non supporta le regole di ispezione dell'organismo AWS WAF su richiesta. Se hai abilitato queste regole sull’ACL Web per una distribuzione, qualsiasi richiesta che utilizza gRPC ignorerà le regole di ispezione del corpo della richiesta. Tutte le altre regole AWS WAF continueranno ad essere applicate. Per ulteriori informazioni, consulta [Abilitazione di AWS WAF per le distribuzioni](WAF-one-click.md).