Che cos'è un set di regole in Frontdoor di Azure?

Un set di regole è un motore di regole personalizzato che raggruppa una combinazione di regole in un singolo set. È possibile associare un set di regole a più percorsi. Un set di regole consente di personalizzare il modo in cui le richieste vengono elaborate e gestite nel perimetro di Frontdoor di Azure.

Scenari comuni supportati

  • Implementazione di intestazioni di sicurezza per evitare vulnerabilità basate su browser come HTTP Strict-Transport-Security (HSTS), X-XSS-Protection, Content-Security-Policy, X-Frame-Options e intestazioni Access-Control-Allow-Origin per scenari CORS (Cross-Origin Resource Sharing). Gli attributi basati sulla sicurezza possono anche essere definiti con i cookie.

  • Instradare le richieste alle versioni per dispositivi mobili o desktop dell'applicazione in base al tipo di dispositivo client.

  • Usando le funzionalità di reindirizzamento per restituire 301, 302, 307 e 308 reindirizza al client per indirizzarli a nuovi nomi host, percorsi, stringhe di query o protocolli.

  • Modifica dinamicamente la configurazione del caching della tua route in base alle richieste in arrivo.

  • Riscrivi il percorso dell'URL della richiesta e inoltra la richiesta all'origine appropriata nel gruppo di origine da voi configurato.

  • Aggiungere, modificare o rimuovere l'intestazione della richiesta/risposta per nascondere informazioni sensibili o acquisire informazioni importanti tramite le intestazioni.

  • Supportare le variabili del server per modificare dinamicamente l'intestazione della richiesta, le intestazioni di risposta, i percorsi di riscrittura URL o le stringhe di query. Ad esempio, quando viene caricata una nuova pagina o quando viene pubblicato un modulo. La variabile server è attualmente supportata solo nelle azioni del set di regole .

  • Popolare o modificare l'intestazione di una risposta in base a un valore dell'intestazione della richiesta, ad esempio aggiungendo lo stesso nome di dominio completo in Access-Control-Allow-Origin come intestazione di origine della richiesta.

  • Rinominare un'intestazione di risposta generata da un provider di servizi cloud in un'intestazione specifica del marchio aggiungendo una nuova intestazione di risposta ed eliminando l'originale.

  • Reindirizzare a un host di destinazione usando un valore acquisito da una coppia chiave/valore della stringa di query in ingresso nel formato {http_req_arg_key1}.

  • Sfruttare l'acquisizione del segmento di percorso URL nel reindirizzamento e nella riscrittura degli URL, ad esempio estrarre tenantID dal percorso URL in ingresso /abc/<tenantID>/<otherID>/index.html e inserire altrove nel percorso URL usando "{url_path:seg1}" nella destinazione.

Architettura

I set di regole gestiscono le richieste nell'edge di Frontdoor. Quando una richiesta arriva all'endpoint di Frontdoor, il web application firewall (WAF) viene elaborato per primo, seguito dalle impostazioni configurate nella route. Tali impostazioni includono il set di regole associato alla route. I set di regole vengono elaborati nell'ordine in cui vengono visualizzati nella configurazione di routing. Le regole in un set di regole vengono elaborate anche nell'ordine in cui vengono visualizzate. Affinché tutte le azioni di ogni regola vengano eseguite, è necessario soddisfare tutte le condizioni di confronto della regola. Se una richiesta non corrisponde ad alcuna delle condizioni nella configurazione del set di regole, vengono applicate solo le impostazioni di route predefinite.

Se l'opzione Arresta valutazione delle regole rimanenti è selezionata, tutti i set di regole rimanenti associati alla route non vengono eseguiti.

Esempio

Nel diagramma seguente i criteri WAF vengono elaborati per primi. La configurazione del set di regole aggiunge quindi un'intestazione di risposta. Se la condizione di corrispondenza è true, l'intestazione modifica la validità massima del controllo della cache.

Diagramma che mostra come un set di regole può modificare l'intestazione della risposta per una richiesta che passa attraverso un endpoint frontdoor.

Terminologia

Con un set di regole di Frontdoor, è possibile creare qualsiasi combinazione di configurazioni, ognuna composta da un set di regole. Le righe seguenti illustrano alcune terminologie utili che si presentano durante la configurazione del set di regole.

  • Set di regole: un set di regole che viene associato a una o più route.

  • Regola del set di regole: regola composta da un massimo di 10 condizioni di corrispondenza e 5 azioni. Le regole sono locali per un set di regole e non possono essere esportate per l'uso in altri set di regole. È possibile creare la stessa regola in set di regole diversi.

  • Condizione di corrispondenza: esistono molte condizioni di corrispondenza che è possibile configurare per analizzare una richiesta in arrivo. Una regola può contenere fino a 10 condizioni di corrispondenza. Le condizioni di corrispondenza vengono valutate con un operatore AND. L'espressione regolare è supportata in condizioni. Un elenco completo delle condizioni di corrispondenza è disponibile in Condizioni di corrispondenza del set di regole.

  • Azione: un'azione determina il modo in cui Frontdoor gestisce le richieste in ingresso in base alle condizioni di corrispondenza. È possibile modificare i comportamenti di memorizzazione nella cache, modificare le intestazioni della richiesta, le intestazioni di risposta, impostare la riscrittura dell'URL e il reindirizzamento url. Le variabili del server sono supportate con Action. Una regola può contenere fino a cinque azioni. Un elenco completo delle azioni è disponibile in Azioni del set di regole.

Supporto del modello ARM

I set di regole possono essere configurati usando i modelli di Azure Resource Manager. Per un esempio, vedere Front Door Standard/Premium con un set di regole. È possibile personalizzare il comportamento usando i frammenti JSON o Bicep inclusi negli esempi di documentazione per le condizioni di corrispondenza e le azioni.

Limiti

Per informazioni sui limiti di quota, vedere Limiti, quote e vincoli di Frontdoor.

Passaggi successivi

Importante

Frontdoor di Azure (versione classica) non supporta la creazione del profilo, il nuovo onboarding del dominio o i certificati gestiti e verrà ritirato il 31 marzo 2027. Per evitare interruzioni del servizio, migrate per Frontdoor di Azure Standard o Premium. Per altre informazioni, vedere ⁠Ritiro di Frontdoor di Azure (versione classica).

Una configurazione del motore regole consente di personalizzare il modo in cui vengono gestite le richieste HTTP all'edge di Frontdoor e fornisce un comportamento più controllato delle applicazioni Web. Il motore delle regole per Frontdoor di Azure (classico) offre varie funzionalità chiave, tra cui:

  • Imporre HTTPS per assicurarsi che tutti gli utenti finali interagiscano con il contenuto tramite una connessione sicura.
  • Implementa le intestazioni di sicurezza per prevenire vulnerabilità basate sul browser come HTTP Strict-Transport-Security (HSTS), X-XSS-Protection, Content-Security-Policy, X-Frame-Options e Access-Control-Allow-Origin per gli scenari CORS (Condivisione delle risorse tra origini). Gli attributi basati sulla sicurezza possono anche essere definiti con i cookie.
  • Instradare le richieste alle versioni desktop o per dispositivi mobili dell'applicazione in base ai modelli nel contenuto delle intestazioni della richiesta, dei cookie o delle stringhe di query.
  • Usare le funzionalità di reindirizzamento per restituire i codici di reindirizzamento 301, 302, 307 e 308 al client per indirizzarli a nuovi nomi host, percorsi o protocolli.
  • Modifica dinamicamente la configurazione del caching della tua route in base alle richieste in arrivo.
  • Eseguire la riscrittura del percorso URL della richiesta e inoltrare la richiesta al back-end appropriato nel pool back-end configurato.

Architettura

Il motore regole gestisce le richieste al perimetro. Quando una richiesta entra nel tuo endpoint di Frontdoor di Azure (classico), viene elaborato prima il WAF, seguito dalla configurazione del motore delle regole associata al tuo dominio front-end. Se viene elaborata una configurazione del motore di regole, significa che è stata trovata una condizione di corrispondenza. Per consentire l'elaborazione di tutte le azioni in ogni regola, è necessario che tutte le condizioni di corrispondenza all'interno di una regola siano soddisfatte. Se una richiesta non corrisponde a nessuna delle condizioni nella configurazione del motore delle regole, viene elaborata la configurazione di routing predefinita.

Nel diagramma seguente, ad esempio, un motore delle regole è configurato per apporre un'intestazione di risposta. L'intestazione modifica la validità massima del controllo cache se il file di richiesta ha un'estensione di .jpg.

Diagramma che mostra il motore di regole che modifica la validità massima della cache nell'intestazione della risposta se il file richiesto ha un'estensione .jpg.

In questo secondo esempio, si vede che il motore delle regole è configurato per reindirizzare gli utenti a una versione mobile del sito web se il dispositivo che richiede è del tipo Mobile.

Diagramma che mostra il motore regole che reindirizza gli utenti alla versione mobile di un sito Web se la richiesta di un dispositivo è di tipo mobile.

In entrambi questi esempi, quando nessuna delle condizioni di corrispondenza viene soddisfatta, viene elaborata la regola di routing specificata.

Terminologia

In Frontdoor di Azure (versione classica) si possono creare configurazioni del motore di regole con molte combinazioni, ognuna composta da un set di regole. Di seguito viene fornita una terminologia utile durante la configurazione del Motore delle Regole.

  • Configurazione del motore di regole: un insieme di regole applicate a un singolo percorso. Ogni configurazione può contenere un massimo di 25 regole. È possibile creare fino a 10 configurazioni.
  • Regola del motore: regola composta da un massimo di 10 condizioni di confronto e 5 azioni.
  • Condizione di corrispondenza: esistono diverse condizioni di corrispondenza che è possibile utilizzare per analizzare le risposte in ingresso. Una regola può contenere fino a 10 condizioni di corrispondenza. Le condizioni di corrispondenza vengono valutate con un operatore AND. Per un elenco completo delle condizioni di corrispondenza, vedere Condizioni di corrispondenza delle regole.
  • Azione: le azioni stabiliscono cosa succede alle richieste in ingresso. Le azioni delle intestazioni di richieste/risposte, l'inoltro, i reindirizzamenti e le riscritture sono già disponibili. Una regola può contenere fino a cinque azioni; tuttavia, una regola può contenere solo un override della configurazione del percorso. Per un elenco completo delle azioni, vedere Azioni delle regole.

Passaggi successivi