Azure Front Door regler matchar villkor

I Azure Front Door regelmotor och Azure Front Door Standard/Premium regeluppsättningbestår en regel av inga eller vissa matchningsvillkor och en åtgärd. Den här artikeln innehåller detaljerade beskrivningar av matchningsvillkor som du kan använda i Azure Front Door regeluppsättning eller regelmotor.

Den första delen av en regel är ett matchningsvillkor eller en uppsättning matchningsvillkor. En regel kan bestå av upp till 10 matchningsvillkor. Ett matchningsvillkor identifierar specifika typer av begäranden som definierade åtgärder utförs för. Om du använder flera matchningsvillkor grupperas matchningsvillkoren tillsammans med hjälp av AND-logik. För alla matchningsvillkor som stöder flera värden används OR-logik.

Du kan använda ett matchningsvillkor för att:

  • Filtrera begäranden baserat på en specifik IP-adress, land eller region.
  • Filtrera begäranden efter rubrikinformation.
  • Filtrera begäranden från mobila enheter eller stationära enheter.
  • Filtrera begäranden från begärandefilnamn och filnamnstillägg.
  • Filtrera begäranden från begärande-URL, protokoll, sökväg, frågesträng, post args osv.

Viktigt

Azure Front Door Standard/Premium (förhandsversion) är för närvarande i offentlig förhandsversion. Den här förhandsversionen tillhandahålls utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Enhetstyp

Använd matchningsvillkoret för enhetstyp för att identifiera begäranden som har gjorts från en mobil eller stationär enhet.

Egenskaper

Egenskap Värden som stöds
Operator
  • I Azure Portal: Equal , Not Equal
  • I ARM-mallar: Equal ; använd egenskapen för att ange Inte lika negateCondition med
Värde Mobile, Desktop

Exempel

I det här exemplet matchar vi alla begäranden som har identifierats som kommer från en mobil enhet.

Skärmbild av portalen som visar matchningsvillkor för enhetstyp.

Publicera args

Använd matchningsvillkoret post args för att identifiera begäranden baserat på de argument som anges i en POST-begärans brödtext. Ett enda matchningsvillkor matchar ett enda argument från POST-begärans brödtext. Du kan ange flera värden som ska matchas, som kombineras med hjälp av OR-logik.

Anteckning

Matchningsvillkoret för post args fungerar med application/x-www-form-urlencoded innehållstypen.

Egenskaper

Egenskap Värden som stöds
Publicera args Ett strängvärde som representerar namnet på ARGUMENTET POST.
Operator Alla operatorer från standardoperatorns lista.
Värde En eller flera sträng- eller heltalsvärden som representerar värdet för postargumentet som ska matchas. Om flera värden anges utvärderas de med hjälp av OR-logik.
Transformering av ärende Lowercase, Uppercase

Exempel

I det här exemplet matchar vi alla POST-begäranden där ett argument anges i begärandetexten och där värdet för customerName customerName börjar med bokstaven eller J K . Vi använder en falltransform för att konvertera indatavärdena till versaler så att alla värden som börjar J med , , och j K k matchas.

Skärmbild av portalen som visar matchningsvillkoret efter args.

Frågesträng

Använd matchningsvillkoret för frågesträngen för att identifiera begäranden som innehåller en specifik frågesträng. Du kan ange flera värden som ska matchas, som kombineras med hjälp av OR-logik.

Anteckning

Hela frågesträngen matchas som en enda sträng, utan inledande ? .

Egenskaper

Egenskap Värden som stöds
Operator Alla operatorer från standardoperatorns lista.
Frågesträng En eller flera sträng- eller heltalsvärden som representerar värdet för frågesträngen som ska matchas. Ta inte med ? i början av frågesträngen. Om flera värden anges utvärderas de med hjälp av OR-logik.
Transformering av ärende Lowercase, Uppercase

Exempel

I det här exemplet matchar vi alla begäranden där frågesträngen innehåller strängen language=en-US . Vi vill att matchningsvillkoret ska vara fallkänsligt, så vi transformerar inte ärendet.

Skärmbild av portalen som visar matchningsvillkor för frågesträngar.

Fjärradress

Matchningsvillkoret för fjärradress identifierar begäranden baserat på beställarens plats eller IP-adress. Du kan ange flera värden som ska matchas, som kombineras med hjälp av OR-logik.

  • Använd CIDR-notation när du anger IP-adressblock. Det innebär att syntaxen för ett IP-adressblock är den grundläggande IP-adressen följt av ett snedstreck och prefixstorleken. Ett exempel:
    • IPv4-exempel: matchar alla begäranden som tas emot från 5.5.5.64/26 adresserna 5.5.5.64 till 5.5.5.127.
    • IPv6-exempel: matchar alla begäranden som kommer från 1:2:3:/48 adresserna 1:2:3:0:0:0:0:0 till 1:2:3: ffff:ffff:ffff:ffff:ffff.
  • När du anger flera IP-adresser och IP-adressblock tillämpas "OR"-logik.
    • IPv4-exempel: Om du lägger till två IP-adresser och , matchas villkoret för begäranden som kommer från adress 1.2.3.4 10.20.30.40 1.2.3.4 eller 10.20.30.40.
    • IPv6-exempel: Om du lägger till två IP-adresser och matchas villkoret för begäranden som kommer från någon av 1:2:3:4:5:6:7:8 10:20:30:40:50:60:70:80 adresserna 1:2:3:4:5:6:7:8 eller 10:20:30:40:50:60:70:80.
  • Fjärradress representerar den ursprungliga klient-IP-adressen som antingen kommer från nätverksanslutningen eller vanligtvis begärandehuvudet X-Forwarded-For om användaren finns bakom en proxyserver.

Egenskaper

Egenskap Värden som stöds
Operator
  • I Azure Portal: , Geo Match Geo Not Match , IP Match eller IP Not Match
  • I ARM-mallar: GeoMatch , ; använd egenskapen för att ange IPMatch negateCondition Geo-matchning inte eller IP-matchning inte
Värde
  • För IP Match operatorerna IP Not Match eller anger du ett eller flera IP-adressintervall. Om flera IP-adressintervall anges utvärderas de med hjälp av OR-logik.
  • För Geo Match operatorerna Geo Not Match eller anger du en eller flera platser med hjälp av landskoden.

Exempel

I det här exemplet matchar vi alla begäranden där begäran inte har sitt ursprung i USA.

Skärmbild av portalen som visar matchningsvillkor för fjärradresser.

Begärandetext

Matchningsvillkoret för begärandetexten identifierar begäranden baserat på specifik text som visas i begärandetexten. Du kan ange flera värden som ska matchas, som kombineras med hjälp av OR-logik.

Anteckning

Om en begärandetext överskrider 64 kB i storlek tas endast de första 64 kB i beaktande för matchningsvillkoret för begärandetexten.

Egenskaper

Egenskap Värden som stöds
Operator Alla operatorer från standardoperatorlistan.
Värde En eller flera sträng- eller heltalsvärden som representerar värdet för begärandetexten som ska matchas. Om flera värden anges utvärderas de med hjälp av OR-logik.
Transformering av ärende Lowercase, Uppercase

Exempel

I det här exemplet matchar vi alla begäranden där begärandetexten innehåller strängen ERROR . Vi omvandlar begärandetexten till versaler innan vi utvärderar matchningen, så error andra skiftlägesvariationer utlöser även det här matchningsvillkoret.

Skärmbild av portalen som visar matchningsvillkoret för begärandetexten.

Begärandefilnamn

Matchningsvillkoret för begärandefilen identifierar begäranden som innehåller det angivna filnamnet i begärande-URL:en. Du kan ange flera värden som ska matchas, som kombineras med hjälp av OR-logik.

Egenskaper

Egenskap Värden som stöds
Operator Alla operatorer från standardoperatorlistan.
Värde En eller flera sträng- eller heltalsvärden som representerar värdet för begärandefilens namn som ska matchas. Om flera värden anges utvärderas de med hjälp av OR-logik.
Transformering av ärende Lowercase, Uppercase

Exempel

I det här exemplet matchar vi alla begäranden där begärandefilens namn är media.mp4 . Vi omvandlar filnamnet till gemener innan vi utvärderar matchningen, så MEDIA.MP4 andra skiftlägesvariationer utlöser även det här matchningsvillkoret.

Skärmbild av portalen som visar matchningsvillkoret för begärandefilens namn.

Begär filnamnstillägg

Matchningsvillkoret för filnamnstillägget identifierar begäranden som innehåller det angivna filnamnstillägget i filnamnet i begärande-URL:en. Du kan ange flera värden som ska matchas, som kombineras med hjälp av OR-logik.

Anteckning

Inkludera inte en inledande punkt. Använd till exempel html i stället för .html.

Egenskaper

Egenskap Värden som stöds
Operator Alla operatorer från standardoperatorlistan.
Värde En eller flera sträng- eller heltalsvärden som representerar värdet för filtillägget för begäran som ska matchas. Inkludera inte en inledande punkt. Om flera värden anges utvärderas de med hjälp av OR-logik.
Transformering av ärende Lowercase, Uppercase

Exempel

I det här exemplet matchar vi alla begäranden där filnamnstillägget för begäran pdf är eller docx . Vi omvandlar filnamnstillägget för begäran till gemener innan vi utvärderar matchningen, så , och andra skiftlägesvariationer utlöser PDF DocX även matchningsvillkoret.

Skärmbild av portalen som visar matchningsvillkor för filtillägg för begäran.

Begärandehuvud

Matchningsvillkoret för begärandehuvudet identifierar begäranden som innehåller ett specifikt huvud i begäran. Du kan använda det här matchningsvillkoret för att kontrollera om en rubrik finns oavsett dess värde eller för att kontrollera om rubriken matchar ett angivet värde. Du kan ange flera värden som ska matchas, som kombineras med hjälp av OR-logik.

Egenskaper

Egenskap Värden som stöds
Huvudnamn Ett strängvärde som representerar namnet på ARGUMENTET POST.
Operator Alla operatorer från standardoperatorlistan.
Värde En eller flera sträng- eller heltalsvärden som representerar värdet för begärandehuvudet som ska matchas. Om flera värden anges utvärderas de med hjälp av OR-logik.
Transformering av ärende Lowercase, Uppercase

Exempel

I det här exemplet matchar vi alla begäranden där begäran innehåller ett huvud med namnet MyCustomHeader , oavsett dess värde.

Skärmbild av portalen som visar matchningsvillkor för begärandehuvud.

Begärandemetod

Matchningsvillkoret för begärandemetoden identifierar begäranden som använder den angivna HTTP-förfrågningsmetoden. Du kan ange flera värden som ska matchas, som kombineras med hjälp av OR-logik.

Egenskaper

Egenskap Värden som stöds
Operator
  • I Azure Portal: Equal , Not Equal
  • I ARM-mallar: Equal ; använd egenskapen för att ange Inte lika negateCondition med
Begärandemetod En eller flera HTTP-metoder från: GET , , , , , , POST PUT DELETE HEAD OPTIONS TRACE . Om flera värden anges utvärderas de med hjälp av OR-logik.

Exempel

I det här exemplet matchar vi alla begäranden där begäran använder DELETE metoden .

Skärmbild av portalen som visar matchningsvillkoret för begärandemetoden.

Sökväg för begäran

Matchningsvillkoret för begärandesökvägen identifierar begäranden som innehåller den angivna sökvägen i begärande-URL:en. Du kan ange flera värden som ska matchas, som kombineras med hjälp av OR-logik.

Anteckning

Sökvägen är en del av URL:en efter värdnamnet och ett snedstreck. I URL:en https://www.contoso.com/files/secure/file1.pdf är sökvägen till exempel files/secure/file1.pdf .

Egenskaper

Egenskap Värden som stöds
Operator Alla operatorer från standardoperatorlistan.
Värde En eller flera sträng- eller heltalsvärden som representerar värdet för den sökväg för begäran som ska matchas. Inkludera inte det inledande snedstrecket. Om flera värden anges utvärderas de med hjälp av OR-logik.
Transformering av ärende Lowercase, Uppercase

Exempel

I det här exemplet matchar vi alla begäranden där sökvägen till begärandefilen börjar med files/secure/ . Vi omvandlar filnamnstillägget för begäran till gemener innan vi utvärderar matchningen, så begäranden till och andra skiftlägesvariationer utlöser files/SECURE/ även det här matchningsvillkoret.

Skärmbild av portalen som visar matchningsvillkor för begärandesökväg.

Begärandeprotokoll

Matchningsvillkoret för begärandeprotokollet identifierar begäranden som använder det angivna protokollet (HTTP eller HTTPS).

Anteckning

Protokollet kallas ibland även schema.

Egenskaper

Egenskap Värden som stöds
Operator
  • I Azure Portal: Equal , Not Equal
  • I ARM-mallar: Equal ; använd egenskapen för att ange Inte lika negateCondition med
Begärandemetod HTTP, HTTPS

Exempel

I det här exemplet matchar vi alla begäranden där begäran använder HTTP protokollet.

Skärmbild av portalen som visar matchningsvillkor för begärandeprotokoll.

Begärans-URL

Identifierar begäranden som matchar den angivna URL:en. Hela URL:en utvärderas, inklusive protokollet och frågesträngen, men inte fragmentet. Du kan ange flera värden som ska matchas, som kombineras med hjälp av OR-logik.

Tips

När du använder det här regelvillkoret måste du inkludera protokollet. Använd till exempel i https://www.contoso.com stället för bara www.contoso.com .

Egenskaper

Egenskap Värden som stöds
Operator Alla operatorer från standardoperatorlistan.
Värde En eller flera sträng- eller heltalsvärden som representerar värdet för den begärande-URL som ska matchas. Om flera värden anges utvärderas de med hjälp av OR-logik.
Transformering av ärende Lowercase, Uppercase

Exempel

I det här exemplet matchar vi alla begäranden där begärande-URL:en börjar med https://api.contoso.com/customers/123 . Vi omvandlar filnamnstillägget för begäran till gemener innan vi utvärderar matchningen, så begäranden till och andra skiftlägesvariationer utlöser https://api.contoso.com/Customers/123 även det här matchningsvillkoret.

Skärmbild av portalen som visar matchningsvillkor för begärande-URL.

Operatorlista

För regler som accepterar värden från standardoperatorlistan är följande operatorer giltiga:

Operator Beskrivning Stöd för ARM-mallar
Valfri Matchar när det finns ett värde, oavsett vad det är. operator: Any
Lika med Matchar när värdet exakt matchar den angivna strängen. operator: Equal
Innehåller Matchar när värdet innehåller den angivna strängen. operator: Contains
Mindre än Matchar när längden på värdet är mindre än det angivna heltal. operator: LessThan
Större än Matchar när längden på värdet är större än det angivna heltal. operator: GreaterThan
Mindre än eller lika med Matchar när längden på värdet är mindre än eller lika med det angivna heltal. operator: LessThanOrEqual
Större än eller lika med Matchar när längden på värdet är större än eller lika med det angivna heltal. operator: GreaterThanOrEqual
Börjar med Matchar när värdet börjar med den angivna strängen. operator: BeginsWith
Slutar med Matchar när värdet slutar med den angivna strängen. operator: EndsWith
Regex Matchar när värdet matchar det angivna reguljära uttrycket. Mer information finns nedan. operator: RegEx
Inte alla Matchar när det inte finns något värde. operator: Any och negateCondition : true
Inte lika med Matchar när värdet inte matchar den angivna strängen. operator: Equal och negateCondition : true
Innehåller inte Matchar när värdet inte innehåller den angivna strängen. operator: Contains och negateCondition : true
Inte mindre än Matchar när längden på värdet inte är mindre än det angivna heltal. operator: LessThan och negateCondition : true
Inte större än Matchar när längden på värdet inte är större än det angivna heltal. operator: GreaterThan och negateCondition : true
Inte mindre än eller lika med Matchar när längden på värdet inte är mindre än eller lika med det angivna heltal. operator: LessThanOrEqual och negateCondition : true
Inte större än eller lika med Matchar när längden på värdet inte är större än eller lika med det angivna heltal. operator: GreaterThanOrEqual och negateCondition : true
Börjar inte med Matchar när värdet inte börjar med den angivna strängen. operator: BeginsWith och negateCondition : true
Slutar inte med Matchar när värdet inte slutar med den angivna strängen. operator: EndsWith och negateCondition : true
Inte RegEx Matchar när värdet inte matchar det angivna reguljära uttrycket. Se nedan för ytterligare information. operator: RegEx och negateCondition : true

Tips

För numeriska operatorer som Mindre än och Större än eller lika med baseras jämförelsen som används på längd. Värdet i matchningsvillkoret ska vara ett heltal som anger den längd som du vill jämföra.

Reguljära uttryck

Reguljära uttryck stöder inte följande åtgärder:

  • Bakåtreferenser och avbildning av underuttryck.
  • Godtyckliga nollbreddspåståenden.
  • Subrutinreferenser och rekursiva mönster.
  • Villkorliga mönster.
  • Kontrollverb för bakåtspårning.
  • Direktivet \C med en byte.
  • \RMatchningsdirektiv för nyrad.
  • Början \K av direktivet för matchningsåterställning.
  • Bildtext och inbäddad kod.
  • Atomisk gruppering och possessiva kvantifierare.

Nästa steg

Azure Front Door:

Azure Front Door Standard/Premium: