Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come configurare l'app Web per gRPC.
gRPC è un framework di chiamata di procedura remota che consente di semplificare i messaggi tra il client e il server tramite HTTP/2. L'uso del protocollo gRPC su HTTP/2 consente l'uso di funzionalità come:
- Multiplexing per inviare più richieste parallele sulla stessa connessione.
- Streaming bidirezionale per inviare contemporaneamente richieste e risposte.
Il supporto per gRPC è attualmente disponibile nel servizio app Azure per Linux. Per usare gRPC nell'app Web, è necessario configurare l'app selezionando la versione HTTP, il proxy e la porta.
Per esempi di client e server gRPC per ogni lingua supportata, vedere la documentazione su GitHub.
Prerequisito
Creare l'app Web come si farebbe normalmente. Scegliere lo stack di runtime preferito e scegliere Linux come sistema operativo.
Dopo aver creato l'app Web, configurare i dettagli seguenti per abilitare gRPC prima di distribuire l'applicazione.
Nota
Se si distribuisce un'app .NET gRPC in servizio app usando Visual Studio, passare al passaggio 3. Visual Studio imposta automaticamente la versione HTTP e la configurazione proxy HTTP 2.0.
1. Configurare la versione HTTP
La prima impostazione da configurare è la versione HTTP:
- Nel riquadro sinistro dell'app Web, in Impostazioni, passare a Configurazione.
- Nella scheda Generale Impostazioni scorrere verso il basso fino a Impostazioni della piattaforma.
- Nell'elenco a discesa Versione HTTP selezionare 2.0.
- Seleziona Salva.
Questa impostazione riavvia l'applicazione e configura il front-end per consentire ai client di effettuare chiamate HTTP/2.
2. Configurare il proxy HTTP 2.0
Successivamente, è necessario configurare il proxy HTTP 2.0:
- Nella stessa sezione Impostazioni piattaforma trovare l'impostazione Proxy HTTP 2.0 e selezionare solo gRPC.
- Seleziona Salva.
Questa impostazione configura il sito per ricevere richieste HTTP/2.
3. Configurare la porta HTTP/2
servizio app richiede un'impostazione dell'applicazione in ascolto specifica del traffico HTTP/2 oltre al traffico HTTP/1.1. Definire la porta HTTP/2 nelle impostazioni dell'app:
- Nel riquadro sinistro dell'app Web, in Impostazioni passare a Variabili di ambiente.
- Nella scheda Impostazioni app aggiungere le impostazioni dell'app seguenti all'applicazione:
- Nome = HTTP20_ONLY_PORT
- Valore = 8585
Queste impostazioni configurano la porta nell'applicazione specificata per l'ascolto delle richieste HTTP/2.
Dopo aver configurato la versione HTTP, la porta e il proxy, è possibile effettuare correttamente chiamate HTTP/2 all'app Web usando gRPC.
(Facoltativo) Comando di avvio di Python
Solo per le applicazioni Python, è anche necessario impostare un comando di avvio personalizzato:
- Nel riquadro sinistro dell'app Web, in Impostazioni, passare a Configurazione.
- In Generale Impostazioni aggiungere il valore seguente per Comando di avvio:
python app.py
.
Argomenti comuni
La tabella seguente può rispondere alle domande sull'uso di gRPC con servizio app.
Nota
gRPC non è una funzionalità supportata in ambiente del servizio app v2. Usare ambiente del servizio app v3.
Argomento | Risposta |
---|---|
Sistemi operativi supportati | gRPC è disponibile in Linux. Il supporto di Windows è attualmente in anteprima. |
Supporto di versioni in lingue diverse | gRPC è supportato per ogni lingua che supporta gRPC. |
Certificati client | HTTP/2 abilitato in servizio app attualmente non supporta i certificati client. I certificati client devono essere ignorati quando si usa gRPC. |
Proteggere le chiamate | gRPC deve effettuare chiamate HTTP sicure a servizio app. Non è possibile effettuare chiamate non sicure. |
Timeout attività | Le richieste gRPC in servizio app hanno un limite di richieste di timeout. Timeout delle richieste gRPC dopo 20 minuti di inattività. |
Contenitori personalizzati | Il supporto http/2 e gRPC è oltre a servizio app supporto HTTP/1.1. I contenitori personalizzati che supportano HTTP/2 devono supportare anche HTTP/1.1. |