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
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Utilizzare Azure AI Studio per testare i modelli AI
Gestione CSS in Blazor con .NET 9
Anonimizzare i dati sensibili nei log di Azure Front Door
Utilizzare l nesting nativo dei CSS
Potenziare la ricerca su Cosmos DB con Full Text Search
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Estrarre dati randomici da una lista di oggetti in C#
Utilizzare gRPC su App Service di Azure
Configurare lo startup di applicazioni server e client con .NET Aspire
Recuperare App Service cancellati su Azure