Front door è un servizio della piattaforma Microsoft Azure che si pone davanti a tutte le richieste HTTP compiendo molteplici compiti che vanno dal firewall fino al caching delle risposte. Tra queste rientra anche la possibilità di personalizzare e intervenire nelle richieste provenienti cambiandone gli header o intervenendo con redirect e rewrite.
Questo è possibile attraverso i rule set, delle regole che si possono definire e poi applicare a uno o più endpoint. Si definiscono nella sezione omonima e si basano su delle condizioni che vanno ad analizzare le richieste in tutti i suoi aspetti: indirizzo, header, tipo di dispositivo, porta, protocollo ecc. Quando creiamo una nuova regola dobbiamo prima di tutto dare un nome e definire le condizioni, come mostrato nella figura.

Per ogni condizione definiamo il parametro, l'operatore, che può applicare semplici contains fino ad articolate regex, e un'eventuale manipolazione del valore per essere sicuri di lavorare con la stringa desiderata. Nell'esempio precedente intercettiamo tutte le richieste il cui host name non inizia con www. Lo scopo è quello di intercettare le richieste ad un naked domain e girarle verso un altro dominio.
Di conseguenza procediamo con un'azione che può essere una modifica all'header della richiesta o della risposta, il rewrite dell'indirizzo un redirect. Scegliamo quest'ultimo per effettuare un 301 (move permanent) al dominio destinatario.

Nell'esempio, mantenendo vuoti path e query string otteniamo un redirect che conterrà il percorso originariamente richiesto. Una volta creata la regola, procediamo nella sezione front door manager, selezioniamo l'endpoint di nostro interesse e lo colleghiamo alla regola.

I rule set sono molto potenti e permettono anche di usare delle variabili, oggetto di futuri script.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Escludere alcuni file da GitHub Copilot
Gestire trasferimenti cloud con Azure Storage Mover
Integrare OpenAI tramite Aspire
Importare un servizio esterno in .NET Aspire
Referenziare un package NuGet in una file based app .NET
Migrare applicazioni legacy nel cloud con Azure App Service Managed Instance
Avviare rapidamente un container con Azure Container Apps Express
.NET Aspire vs Dapr: differenze, sovrapposizioni e integrazione
Esporre tool MCP con Azure Functions
Definire il metodo di rilascio in .NET Aspire
Gestire gli errori nelle Promise JavaScript con try()
Importare repository da Bitbucket a GitHub Enterprise Cloud


