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ù route. 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.

  • Modificare dinamicamente la configurazione della memorizzazione nella cache della route in base alle richieste in ingresso.

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

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

  • Supportare le variabili del server per modificare dinamicamente l'intestazione della richiesta, le intestazioni di risposta o le stringhe di riscrittura URL/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 .

Architettura

I set di regole gestiscono le richieste nel perimetro di Frontdoor. Quando una richiesta arriva all'endpoint frontdoor, 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 corrispondenza all'interno di una 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. L'intestazione modifica la validità massima del controllo cache se la condizione di corrispondenza è true.

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 ingresso. 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 set di regole.

Supporto del modello di Resource Manager

I set di regole possono essere configurati usando i modelli di Azure Resource Manager. Per un esempio, vedere Frontdoor Standard/Premium con 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

  • Informazioni su come creare un profilo frontdoor di Azure.
  • Informazioni su come configurare il primo set di regole.

Importante

Frontdoor di Azure (versione classica) verrà ritirato il 31 marzo 2027. Per evitare interruzioni del servizio, è importante eseguire la migrazione dei profili frontdoor di Azure (versione classica) al livello Frontdoor di Azure Standard o Premium entro marzo 2027. Per altre informazioni, vedere Ritiro di Frontdoor di Azure (versione classica).

Una configurazione del motore regole consente di personalizzare il modo in cui le richieste HTTP vengono gestite nel perimetro frontdoor e forniscono un comportamento controllato all'applicazione Web. Il motore regole per Frontdoor di Azure (versione classica) include diverse funzionalità chiave, tra cui:

  • Imporre HTTPS per assicurarsi che tutti gli utenti finali interagiscano con il contenuto tramite una connessione sicura.
  • Implementare le intestazioni di sicurezza per evitare vulnerabilità basate sul browser come HTTP Strict-Transport-Security (HSTS), X-XSS-Protection, Content-Security-Policy, X-Frame-Options e intestazioni Access-Control-Allow-Origin per gli scenari CORS (Condivisione di risorse tra le 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.
  • Modificare dinamicamente la configurazione della memorizzazione nella cache della route in base alle richieste in ingresso.
  • 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 nell'endpoint frontdoor di Azure (versione classica), WAF viene elaborato per primo, seguito dalla configurazione del motore regole associata al dominio front-end. Se viene elaborata una configurazione del motore regole, significa che è stata soddisfatta una condizione di corrispondenza. Affinché tutte le azioni di ogni regola vengano elaborate, è necessario soddisfare tutte le condizioni di corrispondenza all'interno di una regola. Se una richiesta non corrisponde a nessuna delle condizioni nella configurazione del motore regole, viene elaborata la configurazione di routing predefinita.

Nel diagramma seguente, ad esempio, un motore regole è configurato per aggiungere 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 regole che modifica la validità massima della cache nell'intestazione della risposta se il file richiesto ha un'estensione di .jpg.

In questo secondo esempio si noterà che il motore regole è configurato per reindirizzare gli utenti a una versione mobile del sito Web se il dispositivo richiedente è di 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 non vengono soddisfatte condizioni di corrispondenza, la regola di routing specificata è ciò che viene elaborato.

Terminologia

In Frontdoor di Azure (versione classica) è possibile creare configurazioni del motore regole di molte combinazioni, ognuna composta da un set di regole. Di seguito è riportata una terminologia utile durante la configurazione del motore regole.

  • Configurazione del motore regole: set di regole applicate a una singola route. Ogni configurazione può contenere un massimo di 25 regole. È possibile creare fino a 10 configurazioni.
  • Regola del motore regole: regola composta da un massimo di 10 condizioni di corrispondenza e 5 azioni.
  • Condizione di corrispondenza: esistono molte condizioni di corrispondenza che possono essere usate per analizzare le richieste 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 determinano cosa accade alle richieste in ingresso: le azioni di intestazione di richiesta/risposta, l'inoltro, i reindirizzamenti e le riscritture sono tutti disponibili oggi. Una regola può contenere fino a cinque azioni, ma solo una sostituzione delle configurazioni della route. Per un elenco completo delle azioni, vedere Azioni delle regole.

Passaggi successivi

  • Informazioni su come configurare la prima configurazione del motore regole.
  • Informazioni su come creare un profilo frontdoor di Azure (versione classica).
  • Informazioni sull'architettura di routing di Frontdoor di Azure (versione classica).