Routing del traffico con il gateway applicazione

Completato

Il gateway applicazione gestisce le richieste che le applicazioni client possono inviare a un'app Web. Il gateway applicazione instrada il traffico a un pool di server Web in base all'URL di una richiesta. Questo processo è noto come routing a livello dell'applicazione. Il pool di server Web può essere costituito da macchine virtuali di Azure, set di scalabilità di macchine virtuali di Azure, dal servizio app di Azure e anche da server locali.

Diagramma che mostra il routing di una richiesta da parte del gateway applicazione a un server Web.

Instradamento delle richieste da parte del gateway applicazione

I client inviano richieste alle app Web all'indirizzo IP o al nome DNS del gateway. Il gateway instrada le richieste a un server Web selezionato nel pool back-end usando un set di regole configurate per il gateway che determinano dove deve essere instradata la richiesta.

Esistono due metodi principali di routing del traffico, il routing basato sul percorso e l'hosting in più siti. Di seguito vengono esaminate le funzionalità di ognuno.

Routing basato sul percorso

Il routing basato sul percorso permette di inviare richieste con percorsi diversi nell'URL a un pool diverso di server back-end. Ad esempio, è possibile indirizzare le richieste con il percorso /video/* a un pool back-end contenente server ottimizzati per gestire lo streaming video e le richieste con percorso /images/* a un pool di server che gestiscono il recupero di immagini.

Diagramma che mostra il routing di una richiesta da parte di un gateway applicazione configurato con il routing basato sul percorso.

Hosting di più siti

L'hosting di più siti permette di configurare più applicazioni Web nella stessa istanza del gateway applicazione. In una configurazione multisito è possibile registrare più nomi DNS (CNAME) per l'indirizzo IP del gateway applicazione, specificando il nome di ogni sito. Il gateway applicazione usa listener separati per attendere le richieste per ogni sito. Ogni listener passa la richiesta a una regola diversa, che può instradare le richieste ai server in un pool back-end diverso. È ad esempio possibile configurare il gateway applicazione in modo da indirizzare tutte le richieste per http://contoso.com ai server in un determinato pool back-end e le richieste per http://fabrikam.com a un altro pool back-end. Il diagramma seguente mostra questa configurazione:

Diagramma che mostra il routing di una richiesta da parte di un gateway applicazione configurato con l'hosting di più siti.

Le configurazioni multisito sono utili per supportare applicazioni multi-tenant, in cui ogni tenant dispone di un proprio set di macchine virtuali o altre risorse che ospitano un'applicazione Web.

Altre funzionalità di routing

Insieme al routing basato sul percorso e all'hosting di più siti, il gateway applicazione offre altre funzionalità per il routing.

  • Reindirizzamento: è possibile usare il reindirizzamento a un altro sito o da HTTP a HTTPS.
  • Riscrittura di intestazioni HTTP: le intestazioni HTTP permettono al client e al server di passare informazioni aggiuntive con la richiesta o la risposta.
  • Pagine di errore personalizzate: il gateway applicazione consente di creare pagine di errore personalizzate invece di visualizzare quelle predefinite. Con una pagina di errore personalizzata è possibile usare il layout e il marchio aziendali.

Bilanciamento del carico nel gateway applicazione

Il gateway applicazione bilancia automaticamente il carico delle richieste inviate ai server in ogni pool back-end usando un meccanismo di round robin. Tuttavia, è possibile configurare la persistenza delle sessioni, se è necessario garantire che tutte le richieste per un client nella stessa sessione vengano instradate allo stesso server in un pool back-end.

Il bilanciamento del carico interagisce con il routing di livello OSI 7 implementato dal routing del gateway applicazione, ovvero bilancia il carico delle richieste in base ai parametri di routing (nomi host e percorsi) usati dalle regole del gateway applicazione. In confronto, altri servizi di bilanciamento del carico, come Azure Load Balancer, funzionano al livello OSI 4 e distribuiscono il traffico in base all'indirizzo IP della destinazione di una richiesta.

Il funzionamento al livello OSI 7 consente al bilanciamento del carico di trarre vantaggio da altre funzionalità fornite dal gateway applicazione. Queste funzionalità sono:

  • Supporto per i protocolli HTTP, HTTPS, HTTP/2 e WebSocket.
  • Un web application firewall per la protezione dalle vulnerabilità dell'applicazione Web.
  • Crittografia end-to-end delle richieste.
  • Scalabilità automatica, per regolare la capacità con il mutare del carico del traffico Web.

Routing per l'ufficio della motorizzazione

Considerando lo scenario presso l'ufficio della motorizzazione, il gateway applicazione può essere usato per risolvere entrambi i problemi. È possibile usare le funzionalità di bilanciamento del carico e del probe di integrità per garantire una gestione degli errori senza alcun impatto sugli utenti. È anche possibile usare il routing basato sul percorso per fornire agli utenti un singolo endpoint per accedere ai siti ospitati in servizi Web diversi.

Di seguito viene descritto come fare.

Verificare le conoscenze

1.

Quali criteri usa il gateway applicazione per indirizzare le richieste a un server Web?

2.

Quale strategia di bilanciamento del carico viene implementata dal gateway applicazione?