Dela via


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.1eller 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=fabrikamquery_string är id=123&title=fabrikamtill 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=fabrikamrequest_uri är http://contoso.com:8080/article.aspx?id=123&title=fabrikamtill 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=fabrikamurl_path är article.aspxtill 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 är 111.222.333.444 {client_ip} utvärderas token till 111.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 är 111.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
  • {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/hometill 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/homenä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:

Nästa steg