L'integrazione tra Azure App Service e Application Gateway offre un modo potente per gestire il traffico verso le nostre applicazioni, garantendo scalabilità e alta disponibilità. Il Gateway è particolarmente utile per proteggere le applicazioni utilizzando un Web Application Firewall (WAF), migliorando la sicurezza, e per gestire con flessibilità i percorsi di routing, assicurandoci che il traffico venga indirizzato correttamente.
Un aspetto cruciale di questa integrazione è la gestione della session affinity, che garantisce un'esperienza utente fluida. La session affinity è una funzionalità che consente di mantenere le richieste successive di un utente verso la stessa istanza dell'applicazione. Questo è particolarmente utile per applicazioni che memorizzano dati di sessione localmente, evitando problemi di consistenza. Tuttavia, comporta alcuni svantaggi, come una ridotta distribuzione del carico e una possibile saturazione di alcune istanze.
Nel contesto di Azure App Service, la session affinity è implementata utilizzando il cookie ARRAffinity. Questo cookie viene generato automaticamente e consente di gestire correttamente le richieste mantenendo la coerenza delle sessioni. Per supportare scenari in cui il dominio del cookie deve adattarsi a un header in ingresso dal reverse proxy, come X-Original-Host o X-Forwarded-Host, è necessario abilitare la funzionalità clientAffinityProxyEnabled, operazione eseguibile anche tramite il portale come mostrato nell'immagine seguente.

Questo consente alla session affinity di adattare il dominio del cookie a quello specificato negli header.
Come pratica consigliata, è fondamentale conoscere il dominio che verrà utilizzato dal reverse proxy e configurare adeguatamente le restrizioni di accesso sul sito per garantire che il traffico provenga solo dal proxy autorizzato. Questa configurazione è facilmente eseguibile tramite il portale Azure, dove è possibile abilitare l'opzione per supportare il dominio personalizzato del cookie.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
DevSecOps per .NET: dalla teoria alla pratica
Il nuovo persistent state in Blazor
Ottimizzare i costi con Smart tier in Azure Blob Storage
Welcome to Future Dev Day 2026
Ottimizzare gli indici con Automatic Index Compaction in Azure SQL Database
Importare repository da Bitbucket a GitHub Enterprise Cloud
Integrare OpenTelemetry direttamente in Azure Monitor
Realizzare un accordion con gli elementi HTML details e summary
Running workloads and operations with Azure Kubernetes Service
Come automatizzare il download dei report di billing da GitHub Enterprise
Integrare Agenti A2A in Azure API Management
Integrare LLM alle nostre applicazioni in .NET con MCP


