Condividi tramite


Variabili del server del set di regole di Frontdoor di Azure

Le variabili del server del set di regole forniscono l'accesso alle informazioni strutturate sulla richiesta quando si lavora con i set di regole.

Quando si usano le condizioni di corrispondenza del set di regole, le variabili del server sono disponibili come condizioni di corrispondenza in modo che sia possibile identificare le richieste con proprietà specifiche.

Quando si usano le azioni del set di regole, è possibile usare le variabili del server per modificare dinamicamente le intestazioni di richiesta e risposta e riscrivere URL, percorsi e stringhe di query, ad esempio quando viene caricata una nuova pagina o quando viene pubblicato un modulo.

Nota

Le variabili del server sono disponibili con i livelli Frontdoor di Azure Standard e Premium.

Variabili supportate

Nome variabile Descrizione
socket_ip Indirizzo IP della connessione diretta al perimetro frontdoor di Azure. Se il client ha usato un proxy HTTP o un servizio di bilanciamento del carico per inviare la richiesta, il valore di socket_ip è l'indirizzo IP del proxy o del servizio di bilanciamento del carico.
Per accedere a questa variabile server in una condizione di corrispondenza, usare l'indirizzo Socket.
client_ip Indirizzo IP del client che ha effettuato la richiesta originale. Se è presente un'intestazione X-Forwarded-For nella richiesta, l'indirizzo IP del client viene selezionato dall'intestazione.
Per accedere a questa variabile server in una condizione di corrispondenza, usare l'indirizzo remoto e configurare l'operatore in corrispondenza IP o IP non corrispondente.
client_port Porta IP del client che ha effettuato la richiesta.
Per accedere a questa variabile server in una condizione di corrispondenza, usare la porta client.
hostname Nome host nella richiesta dal client.
Per accedere a questa variabile server in una condizione di corrispondenza, usare Nome host.
geo_country Indica il paese/l'area geografica di origine del richiedente tramite il relativo codice paese/area geografica.
Per accedere a questa variabile server in una condizione di corrispondenza, usare l'indirizzo remoto e configurare l'operatore in corrispondenza geografica o in corrispondenza geografica non corrispondente.
http_method Metodo utilizzato per effettuare la richiesta URL, ad esempio GET o POST.
Per accedere a questa variabile server in una condizione di corrispondenza, usare il metodo Request.
http_version Protocollo di richiesta. In genere HTTP/1.0, HTTP/1.1o HTTP/2.0.
Per accedere a questa variabile server in una condizione di corrispondenza, usare la versione HTTP.
query_string Elenco di coppie variabile/valore che segue nell'URL ? richiesto.
Ad esempio, nella richiesta http://contoso.com:8080/article.aspx?id=123&title=fabrikamil query_string valore è id=123&title=fabrikam.
Per accedere a questa variabile server in una condizione di corrispondenza, usare Stringa di query.
request_scheme Schema di richiesta: http o https.
Per accedere a questa variabile server in una condizione di corrispondenza, usare il protocollo Request.
request_uri URI completo della richiesta originale (con argomenti).
Ad esempio, nella richiesta http://contoso.com:8080/article.aspx?id=123&title=fabrikamil request_uri valore è http://contoso.com:8080/article.aspx?id=123&title=fabrikam.
Per accedere a questa variabile server in una condizione di corrispondenza, usare URL richiesta.
ssl_protocol Protocollo di una connessione TLS stabilita.
Per accedere a questa variabile server in una condizione di corrispondenza, usare il protocollo SSL.
server_port Porta del server che ha accettato una richiesta.
Per accedere a questa variabile server in una condizione di corrispondenza, usare la porta server.
url_path Identifica la risorsa specifica nell'host a cui il client Web vuole accedere. Questa è la parte dell'URI della richiesta senza gli argomenti o la barra iniziale.
Ad esempio, nella richiesta http://contoso.com:8080/article.aspx?id=123&title=fabrikamil url_path valore è article.aspx.
Frontdoor di Azure supporta l'acquisizione dinamica del percorso URL con {url_path:seg#} variabile server e converte il percorso URL in lettere minuscole o maiuscole con {url_path.tolower} o {url_path.toupper}. Per altre informazioni, vedere Formato delle variabili server e Variabili server.
Per accedere a questa variabile server in una condizione di corrispondenza, usare la condizione Percorso richiesta .

Formato variabile server

Quando si usano le azioni del set di regole, specificare le variabili del server usando i formati seguenti:

  • {variable}: includere l'intera variabile del server. Ad esempio, se l'indirizzo IP del client è 111.222.333.444 , il {client_ip} token restituirà 111.222.333.444.

  • {variable:offset}: includere la variabile server dopo un offset specifico, fino alla fine della variabile. L'offset è in base zero. Ad esempio, se l'indirizzo IP del client è 111.222.333.444 , il {client_ip:3} token restituirà .222.333.444.

  • {variable:offset:length}: includere la variabile server dopo un offset specifico, fino alla lunghezza specificata. L'offset è in base zero. Ad esempio, quando la variabile var è 'AppId=01f592979c584d0f9d679db3e6a3e5e',

    • Offset compresi nell'intervallo, senza lunghezze: {var:0} = AppId=01f592979c584d0f9d679db3e66a3e5e, , {var:6} = 01f592979c584d0f9d679db3e66a3e5e{var:-8} = e66a3e5e
    • Offset non compresi nell'intervallo, nessuna lunghezza: {var:-128} = AppId=01f592979c584d0f9d679db3e66a3e5e, {var:128} = null
    • Offset e lunghezze all'interno dell'intervallo: {var:0:5} = AppId, , {var:7:7} = 1f59297{var:7:-7} = 1f592979c584d0f9d679db3e
    • Lunghezza zero: {var:0:0} = null, {var:4:0} = null
    • Offset compresi tra intervalli e lunghezze non compresi nell'intervallo: {var:0:100}AppId=01f592979c584d0f9d679db3e66a3e5e = , ,=01f592979c584d0f9d679db3e66a3e5e = {var:5:100} = {var:0:-48} null, {var:4:-48} = null
  • {url_path:seg#}: consente agli utenti di acquisire e usare il segmento di percorso URL desiderato in Reindirizzamento URL, Riscrittura URL o qualsiasi azione significativa. L'utente può anche acquisire più segmenti usando lo stesso stile dell'acquisizione {url_path:seg1:3}di sottostringa . Ad esempio, per un modello /id/12345/default di origine e un URL riscrivere Destination /{url_path:seg1}/home, il percorso URL previsto dopo la riscrittura è /12345/home. Per un'acquisizione a più segmenti, quando il modello di origine è /id/12345/default/location/test, una destinazione /{url_path:seg1:3}/home di riscrittura URL restituisce /12345/default/location/home. L'acquisizione di segmenti include il percorso della posizione, quindi se la route è /match/*, il segmento 0 corrisponderà.

    L'offset corrisponde all'indice del segmento iniziale e la lunghezza fa riferimento al numero di segmenti da acquisire, incluso quello in corrispondenza dell'indice = offset.

    Supponendo che offset e lunghezza siano positivi, si applica la logica seguente:

    • Se la lunghezza non è inclusa, acquisire il segmento in corrispondenza dell'indice = offset.
    • Quando viene inclusa la lunghezza, acquisire i segmenti dall'indice = offset fino all'indice = offset + lunghezza.

    Vengono gestiti anche i casi speciali seguenti:

    • Se l'offset è negativo, contare all'indietro dalla fine del percorso per ottenere il segmento iniziale.
    • Se offset è un valore negativo maggiore o uguale al numero di segmenti, impostato su 0.
    • Se l'offset è maggiore del numero di segmenti, il risultato è vuoto.
    • Se la lunghezza è 0, restituisce il singolo segmento specificato dall'offset
    • Se la lunghezza è negativa, considerarla come un secondo offset e calcolare all'indietro dalla fine del percorso. Se il valore è minore dell'offset, viene restituita una stringa vuota.
    • Se la lunghezza è maggiore del numero di segmenti, restituire ciò che rimane nel percorso.
  • {url_path.tolower}/{url_path.toupper}: converte il percorso URL in lettere minuscole o maiuscole. Ad esempio, una destinazione {url_path.tolower} nell'URL riscrive/reindirizzamento per i /lowercase/ABcDXyZ/EXAMPLE risultati in /lowercase/abcdxyz/example. {url_path.toupper} Destinazione nella riscrittura/reindirizzamento url per i /ABcDXyZ/example risultati in /ABCDXYZ/EXAMPLE.

Azioni del set di regole supportate

Le variabili del server sono supportate nelle azioni del set di regole seguenti:

Passaggi successivi