Azure Front Door pravidla odpovídají podmínkám

V Azure Front Door stroje pravidel a Azure Front Door standardní/Premium pravidel se pravidlo skládá z žádné podmínky shody nebo určité podmínky shody a akce. Tento článek obsahuje podrobný popis podmínek shody, které můžete použít v Azure Front Door sady pravidel nebo stroji pravidel.

První částí pravidla je podmínka shody nebo sada podmínek shody. Pravidlo se může skládat až z 10 podmínek shody. Podmínka shody identifikuje konkrétní typy požadavků, pro které se provádí definované akce. Pokud použijete více podmínek shody, podmínky shody se seskupí pomocí logiky AND. Pro všechny podmínky shody, které podporují více hodnot, se používá logika OR.

Podmínku shody můžete použít k:

  • Filtrovat požadavky na základě konkrétní IP adresy, země nebo oblasti.
  • Filtrovat požadavky podle informací v záhlaví.
  • Filtrovat požadavky z mobilních nebo desktopových zařízení.
  • Vyfiltrujte požadavky z názvu souboru požadavku a přípony souboru.
  • Filtrování požadavků z adresy URL požadavku, protokolu, cesty, řetězce dotazu, post argumentů atd.

Důležité

Azure Front Door verze Standard/Premium (Preview) je aktuálně ve verzi Public Preview. Tato verze Preview se poskytuje bez smlouvy o úrovni služeb a nedoporučuje se pro úlohy v produkčním prostředí. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Typ zařízení

Pomocí podmínky shody typu zařízení identifikujte požadavky, které byly vytvořeny z mobilního nebo desktopové zařízení.

Vlastnosti

Vlastnost Podporované hodnoty
Operátor
  • V Azure Portal: Equal , Not Equal
  • V šablonách ARM: Equal použijte vlastnost k určení možnosti Není negateCondition rovno.
Hodnota Mobile, Desktop

Příklad

V tomto příkladu porovnáme všechny požadavky, které byly zjištěny jako přicházející z mobilního zařízení.

Snímek obrazovky portálu znázorňující podmínku shody typu zařízení

Post args

Pomocí podmínky shody post args identifikujte požadavky na základě argumentů zadaných v textu požadavku POST. Jedna podmínka shody odpovídá jednomu argumentu z textu požadavku POST. Můžete zadat více hodnot, které se budou kombinovat pomocí logiky OR.

Poznámka

Podmínka shody post args funguje s application/x-www-form-urlencoded typem obsahu.

Vlastnosti

Vlastnost Podporované hodnoty
Post args Řetězcová hodnota představující název argumentu POST.
Operátor Libovolný operátor ze seznamu standardních operátorů.
Hodnota Jedna nebo více řetězcových nebo celočíselných hodnot představujících hodnotu argumentu POST, která se má shodovat. Pokud je zadáno více hodnot, vyhodnotí se pomocí logiky OR.
Transformace případu Lowercase, Uppercase

Příklad

V tomto příkladu porovnáme všechny požadavky POST, kde je v textu požadavku zadaná argument a kde hodnota začíná písmenem customerName customerName nebo J K . Transformaci velkých a malých písmen používáme k převodu vstupních hodnot na velká písmena, aby se všechny hodnoty začínající na , , a J j K k shodují.

Snímek obrazovky portálu zobrazující podmínku shody post args

Řetězec dotazu

Pomocí podmínky shody řetězce dotazu identifikujte požadavky, které obsahují konkrétní řetězec dotazu. Můžete zadat více hodnot, které se budou kombinovat pomocí logiky OR.

Poznámka

Celý řetězec dotazu se porovná jako jeden řetězec bez úvodního ? řetězce .

Vlastnosti

Vlastnost Podporované hodnoty
Operátor Libovolný operátor ze seznamu standardních operátorů.
Řetězec dotazu Jedna nebo více řetězcových nebo celočíselných hodnot představujících hodnotu řetězce dotazu, která se má shodovat. Na začátek řetězce ? dotazu nezahrnujte . Pokud je zadáno více hodnot, vyhodnotí se pomocí logiky OR.
Transformace případu Lowercase, Uppercase

Příklad

V tomto příkladu porovnáme všechny požadavky, ve kterých řetězec dotazu obsahuje řetězec language=en-US . Chceme, aby se u podmínky shody rozlišila velká a malá písmena, aby se malá a velká písmena netransformoval.

Snímek obrazovky portálu znázorňující podmínku shody řetězce dotazu

Vzdálená adresa

Podmínka shody vzdálené adresy identifikuje požadavky na základě umístění nebo IP adresy odesílatele. Můžete zadat více hodnot, které se budou kombinovat pomocí logiky OR.

  • Při zadávání bloků IP adres použijte notaci CIDR. To znamená, že syntaxe pro blok IP adres je základní IP adresa následovaná lomítkem a velikostí předpony. Příklad:
    • Příklad IPv4: Odpovídá požadavkům přicházejím z adres 5.5.5.64/26 5.5.5.64 až 5.5.5.127.
    • Příklad IPv6: odpovídá požadavkům přicházejím z adres 1:2:3:/48 1:2:3:0:0:0:0:0 až 1:2:3: ffff:ffff:ffff:ffff:ffff:ffff.
  • Když zadáte více IP adres a bloků IP adres, použije se logika "OR".
    • Příklad IPv4: Pokud přidáte dvě IP adresy a , podmínka se shoduje pro všechny požadavky, které přicházejí z adresy 1.2.3.4 10.20.30.40 1.2.3.4 nebo 10.20.30.40.
    • Příklad IPv6: Pokud přidáte dvě IP adresy a , podmínka se shoduje pro všechny požadavky přicházejíné z adresy 1:2:3:4:5:6:7:8 10:20:30:40:50:60:70:80 1:2:3:4:5:6:7:8 nebo 10:20:30:40:50:60:70:80.
  • Vzdálená adresa představuje původní IP adresu klienta, která je buď ze síťového připojení, nebo obvykle hlavičku žádosti X-Forwarded-For, pokud se uživatel nachází za proxy serverem.

Vlastnosti

Vlastnost Podporované hodnoty
Operátor
  • V Azure Portal: , Geo Match Geo Not Match , IP Match nebo IP Not Match
  • V šablonách ARM: , použijte vlastnost k určení neshody geografické oblasti nebo GeoMatch IPMatch negateCondition neshody IP adresy.
Hodnota
  • Pro IP Match operátory nebo IP Not Match zadejte jeden nebo více rozsahů IP adres. Pokud je zadaných více rozsahů IP adres, vyhodnotí se pomocí logiky OR.
  • Pro Geo Match operátory Geo Not Match nebo zadejte jedno nebo více umístění pomocí kódu země.

Příklad

V tomto příkladu porovnáme všechny požadavky, u kterých požadavek nepocházel z USA.

Snímek obrazovky portálu znázorňující podmínku shody vzdálené adresy

Text požadavku

Podmínka shody textu požadavku identifikuje požadavky na základě konkrétního textu, který se zobrazí v textu požadavku. Můžete zadat více hodnot, které se budou kombinovat pomocí logiky OR.

Poznámka

Pokud velikost textu požadavku překročí 64 kB, bude se pro podmínku shody textu požadavku zvažovat pouze prvních 64 kB.

Vlastnosti

Vlastnost Podporované hodnoty
Operátor Libovolný operátor ze seznamu standardních operátorů.
Hodnota Jedna nebo více řetězcových nebo celočíselných hodnot představujících hodnotu textu textu požadavku, který se má shodovat. Pokud je zadáno více hodnot, vyhodnotí se pomocí logiky OR.
Transformace případu Lowercase, Uppercase

Příklad

V tomto příkladu porovnáme všechny požadavky, ve kterých text požadavku obsahuje řetězec ERROR . Před vyhodnocením shody transformujeme text požadavku na velká písmena, takže a další variace velkých a malých písmen error také aktivují tuto podmínku shody.

Snímek obrazovky portálu znázorňující podmínku shody textu požadavku

Název souboru požadavku

Podmínka shody názvu souboru požadavku identifikuje požadavky, které v adrese URL požadavku obsahují zadaný název souboru. Můžete zadat více hodnot, které se budou kombinovat pomocí logiky OR.

Vlastnosti

Vlastnost Podporované hodnoty
Operátor Libovolný operátor ze seznamu standardních operátorů.
Hodnota Jedna nebo více řetězcových nebo celočíselných hodnot, které představují hodnotu názvu souboru požadavku, která se má shodovat. Pokud je zadáno více hodnot, vyhodnotí se pomocí logiky OR.
Transformace případu Lowercase, Uppercase

Příklad

V tomto příkladu odpovídáme všem požadavkům, u kterých je název souboru požadavku media.mp4 . Před vyhodnocením shody transformujeme název souboru na malá písmena, takže a další variace velkých a malých písmen MEDIA.MP4 také aktivují tuto podmínku shody.

Snímek obrazovky portálu zobrazující podmínku shody názvu souboru požadavku

Žádost o příponu souboru

Podmínka shody přípony souboru požadavku identifikuje požadavky, které v názvu souboru v adrese URL požadavku obsahují zadanou příponu souboru. Můžete zadat více hodnot, které se budou kombinovat pomocí logiky OR.

Poznámka

Nezahrnujte úvodní tečku. Můžete například namísto html použít .html.

Vlastnosti

Vlastnost Podporované hodnoty
Operátor Libovolný operátor ze seznamu standardních operátorů.
Hodnota Jedna nebo více řetězcových nebo celočíselných hodnot představujících odpovídající hodnotu přípony souboru požadavku. Nezahrnujte úvodní tečku. Pokud je zadáno více hodnot, vyhodnotí se pomocí logiky OR.
Transformace případu Lowercase, Uppercase

Příklad

V tomto příkladu porovnáme všechny požadavky, ve kterých je přípona souboru požadavku pdf nebo docx . Před vyhodnocením shody transformujeme příponu souboru požadavku na malá písmena, takže , a další variace písmen tuto podmínku shody PDF DocX aktivují.

Snímek obrazovky portálu zobrazující podmínku shody rozšíření souboru požadavku

Hlavička požadavku

Podmínka shody hlavičky požadavku identifikuje požadavky, které v požadavku obsahují konkrétní hlavičku. Tuto podmínku shody můžete použít ke kontrole, jestli hlavička existuje bez ohledu na její hodnotu, nebo můžete zkontrolovat, jestli hlavička odpovídá zadané hodnotě. Můžete zadat více hodnot, které se budou kombinovat pomocí logiky OR.

Vlastnosti

Vlastnost Podporované hodnoty
Název hlavičky Řetězcová hodnota představující název argumentu POST.
Operátor Libovolný operátor ze seznamu standardních operátorů.
Hodnota Jedna nebo více řetězcových nebo celočíselných hodnot představujících odpovídající hodnotu hlavičky požadavku. Pokud je zadáno více hodnot, vyhodnotí se pomocí logiky OR.
Transformace případu Lowercase, Uppercase

Příklad

V tomto příkladu porovnáme všechny požadavky, ve kterých požadavek obsahuje hlavičku s názvem , bez MyCustomHeader ohledu na její hodnotu.

Snímek obrazovky portálu zobrazující podmínku shody hlavičky požadavku

Metoda požadavku

Podmínka shody metody požadavku identifikuje požadavky, které používají zadanou metodu požadavku HTTP. Můžete zadat více hodnot, které se budou kombinovat pomocí logiky OR.

Vlastnosti

Vlastnost Podporované hodnoty
Operátor
  • V Azure Portal: Equal , Not Equal
  • V šablonách ARM: Equal použijte vlastnost k určení možnosti Není negateCondition rovno.
Metoda požadavku Jedna nebo více metod HTTP z těchto metod: GET , , , , , , , POST PUT DELETE HEAD OPTIONS TRACE . Pokud je zadáno více hodnot, vyhodnotí se pomocí logiky OR.

Příklad

V tomto příkladu porovnáme všechny požadavky, ve kterých požadavek používá DELETE metodu .

Snímek obrazovky portálu znázorňující podmínku shody metody požadavku

Cesta požadavku

Podmínka shody cesty požadavku identifikuje požadavky, které zahrnují zadanou cestu v adrese URL požadavku. Můžete zadat více hodnot, které se mají spárovat a které se zkombinují pomocí logiky OR.

Poznámka

Cesta je část adresy URL za název hostitele a lomítkem. Například v adrese URL https://www.contoso.com/files/secure/file1.pdf je cesta files/secure/file1.pdf .

Vlastnosti

Vlastnost Podporované hodnoty
Operátor Libovolný operátor ze seznamu standardních operátorů.
Hodnota Jedna nebo více řetězcových nebo celočíselných hodnot představujících hodnotu cesty požadavku, která se má shodovat. Nezahrnujte počáteční lomítko. Pokud je zadáno více hodnot, vyhodnotí se pomocí logiky OR.
Transformace případu Lowercase, Uppercase

Příklad

V tomto příkladu porovnáme všechny požadavky, kde cesta k souboru požadavku začíná files/secure/ na . Před vyhodnocením shody transformujeme příponu souboru požadavku na malá písmena, takže požadavky na a další variace případu files/SECURE/ také aktivují tuto podmínku shody.

Snímek obrazovky portálu znázorňující podmínku shody cesty požadavku

Protokol žádosti

Podmínka shody protokolu požadavku identifikuje požadavky, které používají zadaný protokol (HTTP nebo HTTPS).

Poznámka

Protokol se někdy také nazývá schéma.

Vlastnosti

Vlastnost Podporované hodnoty
Operátor
  • V části Azure Portal: Equal , Not Equal
  • V šablonách ARM: Equal použijte vlastnost k určení možnosti negateCondition Nerovná se.
Metoda požadavku HTTP, HTTPS

Příklad

V tomto příkladu porovnáme všechny požadavky, ve kterých požadavek HTTP používá protokol.

Snímek obrazovky portálu znázorňující podmínku shody protokolu požadavku

Adresa URL požadavku

Identifikuje požadavky, které odpovídají zadané adrese URL. Vyhodnotí se celá adresa URL, včetně protokolu a řetězce dotazu, ale ne fragmentu. Můžete zadat více hodnot, které se mají spárovat a které se zkombinují pomocí logiky OR.

Tip

Pokud použijete tuto podmínku pravidla, nezapomeňte zahrnout protokol . Použijte například místo https://www.contoso.com pouze www.contoso.com .

Vlastnosti

Vlastnost Podporované hodnoty
Operátor Libovolný operátor ze seznamu standardních operátorů.
Hodnota Jedna nebo více řetězcových nebo celočíselných hodnot představujících hodnotu adresy URL požadavku, která se má shodovat. Pokud je zadáno více hodnot, vyhodnotí se pomocí logiky OR.
Transformace případu Lowercase, Uppercase

Příklad

V tomto příkladu porovnáme všechny požadavky, kde adresa URL požadavku začíná https://api.contoso.com/customers/123 na . Před vyhodnocením shody transformujeme příponu souboru požadavku na malá písmena, takže požadavky na a další variace případu https://api.contoso.com/Customers/123 také aktivují tuto podmínku shody.

Snímek obrazovky portálu zobrazující podmínku shody adresy URL požadavku

Seznam operátorů

Pro pravidla, která přijímají hodnoty ze seznamu standardních operátorů, jsou platné následující operátory:

Operátor Popis Podpora šablon ARM
Všechny Odpovídá hodnotě bez ohledu na to, o jakou hodnotu se jedná. operator: Any
Je rovno Odpovídá, když hodnota přesně odpovídá zadanému řetězci. operator: Equal
Contains Odpovídá, když hodnota obsahuje zadaný řetězec. operator: Contains
Menší než Odpovídá hodnotě, která je menší než zadané celé číslo. operator: LessThan
Větší než Odpovídá, pokud je délka hodnoty větší než zadané celé číslo. operator: GreaterThan
Menší než nebo Rovno Odpovídá hodnotě, která je menší nebo rovna zadanému celé hodnotě. operator: LessThanOrEqual
Větší než nebo Rovno Odpovídá hodnotě, která je větší nebo rovna zadanému celé hodnotě. operator: GreaterThanOrEqual
Začíná na Odpovídá hodnotě, která začíná zadaným řetězcem. operator: BeginsWith
Končí na Odpovídá, když hodnota končí zadaným řetězcem. operator: EndsWith
Regex Odpovídá hodnotě zadanému regulárnímu výrazu. Další podrobnosti najdete níže. operator: RegEx
Žádné Shoduje se, pokud neexistuje žádná hodnota. operator: Any a negateCondition : true
Není rovno Odpovídá hodnotě, která neodpovídá zadanému řetězci. operator: Equal a negateCondition : true
Neobsahuje Odpovídá, pokud hodnota neobsahuje zadaný řetězec. operator: Contains a negateCondition : true
Není menší než Odpovídá, pokud délka hodnoty není menší než zadané celé číslo. operator: LessThan a negateCondition : true
Není větší než Odpovídá, pokud délka hodnoty není větší než zadané celé číslo. operator: GreaterThan a negateCondition : true
Není menší než nebo rovno Odpovídá, pokud délka hodnoty není menší nebo rovna zadanému celému číslu. operator: LessThanOrEqual a negateCondition : true
Není větší než nebo rovno Odpovídá, pokud délka hodnoty není větší než nebo rovna zadanému celému číslu. operator: GreaterThanOrEqual a negateCondition : true
Nezačíná na Odpovídá, pokud hodnota nezačíná zadaným řetězcem. operator: BeginsWith a negateCondition : true
Nekončí na Odpovídá, pokud hodnota nekončí zadaným řetězcem. operator: EndsWith a negateCondition : true
Není RegEx Odpovídá, pokud hodnota neodpovídá zadanému regulárnímu výrazu. Další podrobnosti najdete níže. operator: RegEx a negateCondition : true

Tip

Pro číselné operátory, které jsou menší než a větší než nebo rovno, je použití porovnání založeno na délce. Hodnota v podmínce Match by měla být celé číslo, které určuje délku, kterou chcete porovnat.

Regulární výrazy

Regulární výrazy nepodporují následující operace:

  • Zpětná reference a zachycení dílčích výrazů.
  • Libovolné kontrolní výrazy s nulovou šířkou.
  • Reference k podrutinám a rekurzivní vzory.
  • Podmíněné vzory.
  • Řízení operací zpětného navrácení.
  • \CDirektiva s jedním bajtem.
  • \RDirektiva shody nového řádku.
  • \KZačátek direktivy resetování shody
  • Popisky a vložený kód.
  • Seskupení atomie a kvantifikátory possessive.

Další kroky

Přední dvířka Azure:

Přední dvířka Azure (Standard/Premium):