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
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
.NET Aspire per applicazioni distribuite
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Creare un agente A2Acon Azure Logic Apps
Scrivere selettori CSS più semplici ed efficienti con :is()
Esporre un server MCP esistente con Azure API Management
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Ottimizzare le performance usando Span<T> e il metodo Split
Generare una User Delegation SAS in .NET per Azure Blob Storage
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Utilizzare Locust con Azure Load Testing