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 |
|
| 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í.
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í.
Ř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.
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/265.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:/481:2:3:0:0:0:0:0 až 1:2:3: ffff:ffff:ffff:ffff:ffff:ffff.
- Příklad IPv4: Odpovídá požadavkům přicházejím z adres
- 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.410.20.30.401.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:810:20:30:40:50:60:70:801:2:3:4:5:6:7:8 nebo 10:20:30:40:50:60:70:80.
- 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
- 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 |
|
| Hodnota |
|
Příklad
V tomto příkladu porovnáme všechny požadavky, u kterých požadavek nepocházel z USA.
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.
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.
Žá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í.
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.
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 |
|
| 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 .
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.
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 |
|
| 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.
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.
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:
- Další informace o modulu pravidel pro přední dveře Azure
- Naučte se Konfigurovat modul pro první pravidla.
- Další informace o akcích modulu pravidel
Přední dvířka Azure (Standard/Premium):
- přečtěte si další informace o sadě pravidelStandard/Premium služby Azure Front.
- Naučte se Konfigurovat svoji první sadu pravidel.
- Přečtěte si další informace o akcích sady pravidel.