Azure Front Door-regeluppsättningsservervariabler
Regeluppsättningsservervariabler ger åtkomst till strukturerad information om begäran när du arbetar med regeluppsättningar.
När du använder matchningsvillkor för regeluppsättningar är servervariabler tillgängliga som matchningsvillkor så att du kan identifiera begäranden med specifika egenskaper.
När du använder åtgärder för regeluppsättning kan du använda servervariabler för att dynamiskt ändra begärande- och svarshuvudena och skriva om URL:er, sökvägar och frågesträngar, till exempel när en ny sida läses in eller när ett formulär publiceras.
Kommentar
Servervariabler är tillgängliga med Azure Front Door Standard- och Premium-nivåer.
Variabler som stöds
Variabelnamn | beskrivning |
---|---|
socket_ip |
IP-adressen för direktanslutningen till Azure Front Door-gränsen. Om klienten använde en HTTP-proxy eller en lastbalanserare för att skicka begäran är värdet socket_ip för IP-adressen för proxyn eller lastbalanseraren.Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du Socket-adress. |
client_ip |
IP-adressen för klienten som gjorde den ursprungliga begäran. Om det fanns ett X-Forwarded-For huvud i begäran väljs klientens IP-adress från huvudet.Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du Fjärradress och konfigurerar operatorn till IP-matchning eller IP-matchning. |
client_port |
IP-porten för klienten som gjorde begäran. Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du klientporten. |
hostname |
Värdnamnet i begäran från klienten. Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du Värdnamn. |
geo_country |
Anger begärandens ursprungsland/ursprungsregion via dess lands-/regionkod. Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du Fjärradress och konfigurerar operatorn till Geo Match eller Geo Not Match. |
http_method |
Den metod som används för att göra URL-begäran, till exempel GET eller POST .Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du metoden Begäran. |
http_version |
Protokollet för begäran. Vanligtvis HTTP/1.0 , HTTP/1.1 eller HTTP/2.0 .Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du HTTP-version. |
query_string |
Listan över variabel/värde-par som följer ? i den begärda URL:en.I begäran http://contoso.com:8080/article.aspx?id=123&title=fabrikam query_string är id=123&title=fabrikam till exempel värdet .Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du Frågesträng. |
request_scheme |
Begärandeschemat: http eller https .Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du Begärandeprotokoll. |
request_uri |
Den fullständiga ursprungliga begärande-URI:n (med argument). I begäran http://contoso.com:8080/article.aspx?id=123&title=fabrikam request_uri är http://contoso.com:8080/article.aspx?id=123&title=fabrikam till exempel värdet .Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du URL för begäran. |
ssl_protocol |
Protokollet för en upprättad TLS-anslutning. Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du SSL-protokollet. |
server_port |
Porten för servern som accepterade en begäran. Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du serverporten. |
url_path |
Identifierar den specifika resursen i värden som webbklienten vill komma åt. Det här är en del av begärande-URI:n utan argument eller inledande snedstreck. I begäran http://contoso.com:8080/article.aspx?id=123&title=fabrikam url_path är article.aspx till exempel värdet . Azure Front Door stöder dynamisk insamling av URL-sökväg med {url_path:seg#} servervariabel och konverterar URL-sökvägen till gemener eller versaler med {url_path.tolower} eller {url_path.toupper} . Mer information finns i Servervariabelformat och Servervariabler. Om du vill komma åt den här servervariabeln i ett matchningsvillkor använder du villkoret Sökväg för begäran. |
Servervariabelformat
När du arbetar med regeluppsättningsåtgärder anger du servervariabler med hjälp av följande format:
{variable}
: Inkludera hela servervariabeln. Om klientens IP-adress till exempel är111.222.333.444
{client_ip}
utvärderas token till111.222.333.444
.{variable:offset}
: Inkludera servervariabeln efter en specifik förskjutning till slutet av variabeln. Förskjutningen är nollbaserad. Om klientens IP-adress till exempel är111.222.333.444
{client_ip:3}
utvärderas token till.222.333.444
.{variable:offset:length}
: Inkludera servervariabeln efter en specifik förskjutning, upp till den angivna längden. Förskjutningen är nollbaserad. Till exempel när variabelvar är "AppId=01f592979c584d0f9d679db3e66a3e5e",- Förskjutningar inom intervallet, inga längder:
{var:0}
=AppId=01f592979c584d0f9d679db3e66a3e5e
, ,{var:6}
=01f592979c584d0f9d679db3e66a3e5e
{var:-8}
=e66a3e5e
- Förskjuter från intervallet, inga längder:
{var:-128}
=AppId=01f592979c584d0f9d679db3e66a3e5e
,{var:128}
= null - Förskjutningar och längder inom intervallet:
{var:0:5}
=AppId
, ,{var:7:7}
=1f59297
{var:7:-7}
=1f592979c584d0f9d679db3e
- Noll längder:
{var:0:0}
= null,{var:4:0}
= null - Förskjutningar inom intervall och längder från intervallet:
{var:0:100}
AppId=01f592979c584d0f9d679db3e66a3e5e
= ,{var:5:100}
==01f592979c584d0f9d679db3e66a3e5e
,{var:0:-48}
= null,{var:4:-48}
= null
- Förskjutningar inom intervallet, inga längder:
{url_path:seg#}
: Tillåt användare att samla in och använda önskat URL-sökvägssegment i URL-omdirigering, URL-omskrivning eller någon meningsfull åtgärd. Användaren kan också samla in flera segment med samma formatmall som delsträngsfångst{url_path:seg1:3}
. För ett källmönster/id/12345/default
och en URL-omskrivningsmål/{url_path:seg1}/home
är/12345/home
till exempel den förväntade URL-sökvägen efter omskrivningen . För en avbildning med flera segment resulterar en URL-omskrivningsmål/{url_path:seg1:3}/home
i/12345/default/location/home
när källmönstret är/id/12345/default/location/test
. Segmentinsamling innehåller platssökvägen, så om vägen är/match/*
kommer segment 0 att matchas.Offset motsvarar indexet för startsegmentet, och längden refererar till hur många segment som ska avbildas, inklusive det vid index = förskjutning.
Om förskjutningen och längden är positiva gäller följande logik:
- Om längden inte ingår samlar du in segmentet vid index = offset.
- När längden ingår avbildar du segment från index = förskjutning upp till index = förskjutning + längd.
Följande specialfall hanteras också:
- Om förskjutningen är negativ räknar du bakåt från slutet av sökvägen för att hämta startsegmentet.
- Om förskjutningen är ett negativt värde som är större än eller lika med antalet segment anger du till 0.
- Om förskjutningen är större än antalet segment är resultatet tomt.
- Om längden är 0 returnerar du det enskilda segment som anges av förskjutningen
- Om längden är negativ behandlar du den som en andra förskjutning och beräknar bakåt från slutet av sökvägen. Om värdet är mindre än förskjutningen resulterar det i en tom sträng.
- Om längden är större än antalet segment returnerar du det som finns kvar i sökvägen.
{url_path.tolower}
/{url_path.toupper}
: Konvertera URL-sökvägen till gemener eller versaler. Ett mål{url_path.tolower}
i URL-omskrivning/omdirigering för/lowercase/ABcDXyZ/EXAMPLE
resultat i/lowercase/abcdxyz/example
. Ett mål{url_path.toupper}
i URL-omskrivning/omdirigering för/ABcDXyZ/example
resultat i/ABCDXYZ/EXAMPLE
.
Regeluppsättningsåtgärder som stöds
Servervariabler stöds för följande regeluppsättningsåtgärder:
- Beteende för cachelagring av frågesträngar i åsidosättning av routningskonfiguration
- Ändra begärandehuvud
- Ändra svarsrubrik
- URL-omdirigering
- URL-omskrivning
Nästa steg
- Läs mer om Azure Front Door Rule set.
- Läs mer om matchningsvillkor för regeluppsättningar.
- Läs mer om regeluppsättningsåtgärder.