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
Utilizzare Azure AI Studio per testare i modelli AI
Migliorare la sicurezza dei prompt con Azure AI Studio
Generare una User Delegation SAS in .NET per Azure Blob Storage
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Introduzione ai web component HTML
La gestione della riconnessione al server di Blazor in .NET 9
Utilizzare Copilot con Azure Cosmos DB
Gestione dell'annidamento delle regole dei layer in CSS
Recuperare App Service cancellati su Azure
Rendere le variabili read-only in una pipeline di Azure DevOps