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 eseguito 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 |
La porta IP del client che ha eseguito 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.1 o 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=fabrikam il 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=fabrikam il 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=fabrikam il url_path valore è article.aspx . Frontdoor di Azure supporta l'acquisizione dinamica del percorso URL con variabile del server {url_path:seg#} 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
- Offset compresi nell'intervallo, senza lunghezze:
{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:
- Comportamento di memorizzazione nella cache delle stringhe di query nell'override della configurazione della route
- Modificare l'intestazione della richiesta
- Modificare l'intestazione della risposta
- Reindirizzamento URL
- Riscrittura URL
Passaggi successivi
- Altre informazioni sul set di regole di Frontdoor di Azure.
- Altre informazioni sulle Condizioni di corrispondenza del set di regole.
- Altre informazioni sulle azioni del set di regole.