Azure Front Door voorwaarden voor overeenkomst van regels
In Azure Front Door en Azure Front Door Standard/Premium Rule Setbestaat een regel uit geen of een aantal voorwaarden voor overeenkomst en een actie. Dit artikel bevat gedetailleerde beschrijvingen van voorwaarden voor overeenkomst die u kunt gebruiken in Azure Front Door regelset of regelst engine.
Het eerste deel van een regel is een voorwaarde van overeenkomst of een set voorwaarden van overeenkomst. Een regel kan uit maximaal 10 voorwaarden van overeenkomst bestaan. Een voorwaarde van overeenkomst identificeert specifieke typen aanvragen waarvoor gedefinieerde acties worden uitgevoerd. Als u meerdere voorwaarden van overeenkomst gebruikt, worden de voorwaarden van overeenkomst samen gegroepeerd met behulp van EN-logica. Voor alle voorwaarden van overeenkomst die ondersteuning bieden voor meerdere waarden, wordt OR-logica gebruikt.
U kunt een voorwaarde voor overeenkomst gebruiken om het volgende te doen:
- Aanvragen filteren op basis van een specifiek IP-adres, specifiek land of specifieke regio.
- Aanvragen filteren op headergegevens.
- Aanvragen filteren van mobiele apparaten of desktopapparaten.
- Filter aanvragen van de bestandsnaam en bestandsextensie van de aanvraag.
- Filter aanvragen van aanvraag-URL, protocol, pad, queryreeks, post args, enzovoort.
Belangrijk
Azure Front Door Standard/Premium (preview) is momenteel beschikbaar als openbare preview. Deze preview-versie wordt aangeboden zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Supplemental Terms of Use for Microsoft Azure Previews (Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews) voor meer informatie.
Apparaattype
Gebruik de voorwaarde voor overeenkomst van apparaattype om aanvragen te identificeren die zijn gedaan vanaf een mobiel apparaat of desktopapparaat.
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Operator |
|
| Waarde | Mobile, Desktop |
Voorbeeld
In dit voorbeeld komen we overeen met alle aanvragen die zijn gedetecteerd als afkomstig van een mobiel apparaat.
Post args
Gebruik de voorwaarde post args match om aanvragen te identificeren op basis van de argumenten die zijn opgegeven in de body van een POST-aanvraag. Eén voorwaarde voor overeenkomst komt overeen met één argument uit de body van de POST-aanvraag. U kunt meerdere waarden opgeven die overeenkomen, die worden gecombineerd met behulp van OR-logica.
Notitie
De voorwaarde post args match werkt met het application/x-www-form-urlencoded inhoudstype.
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Post args | Een tekenreekswaarde die de naam van het POST-argument vertegenwoordigt. |
| Operator | Elke operator uit de lijst met standaardoperatoren. |
| Waarde | Een of meer tekenreeks- of gehele getallen die de waarde van het POST-argument vertegenwoordigen dat moet overeenkomen. Als er meerdere waarden zijn opgegeven, worden ze geëvalueerd met behulp van OR-logica. |
| Transformatie van hoofdletters en kleine letters | Lowercase, Uppercase |
Voorbeeld
In dit voorbeeld komen we overeen met alle POST-aanvragen waarbij een argument is opgegeven in de aanvraag body en waarbij de waarde van customerName begint met de letter of customerName J K . We gebruiken een casetransformator om de invoerwaarden te converteren naar hoofdletters, zodat waarden die beginnen J met , , en allemaal j K k overeenkomen.
Queryreeksen
Gebruik de voorwaarde voor overeenkomst van queryreeks om aanvragen te identificeren die een specifieke queryreeks bevatten. U kunt meerdere waarden opgeven die overeenkomen, die worden gecombineerd met behulp van OR-logica.
Notitie
De volledige queryreeks wordt gematcht als één tekenreeks, zonder de vooraanstaande ? .
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Operator | Elke operator uit de lijst met standaardoperatoren. |
| Queryreeksen | Een of meer tekenreeks- of geheel getal-waarden die de waarde vertegenwoordigen van de querytekenreeks die moet overeenkomen. Neem de niet op ? aan het begin van de queryreeks. Als er meerdere waarden zijn opgegeven, worden ze geëvalueerd met behulp van OR-logica. |
| Transformatie van hoofdletters en kleine letters | Lowercase, Uppercase |
Voorbeeld
In dit voorbeeld komen we overeen met alle aanvragen waarbij de queryreeks de tekenreeks language=en-US bevat. We willen dat de voorwaarde voor overeenkomst casegevoelig is, dus we transformeren de case niet.
Extern adres
De overeenkomstvoorwaarde voor het externe adres identificeert aanvragen op basis van de locatie of het IP-adres van de aanvraag. U kunt meerdere waarden opgeven die overeenkomen, die worden gecombineerd met behulp van OR-logica.
- Gebruik CIDR-notatie bij het opgeven van IP-adresblokken. Dit betekent dat de syntaxis voor een IP-adresblok het basis-IP-adres is, gevolgd door een slash en de grootte van het voorvoegsel. Bijvoorbeeld:
- IPv4-voorbeeld: komt overeen met aanvragen die afkomstig zijn van de adressen
5.5.5.64/265.5.5.64 tot en met 5.5.5.127. - IPv6-voorbeeld: komt overeen met aanvragen die afkomstig zijn van adressen
1:2:3:/481:2:3:0:0:0:0:0 tot en met 1:2:3: ffff:ffff:ffff:ffff:ffff.
- IPv4-voorbeeld: komt overeen met aanvragen die afkomstig zijn van de adressen
- Wanneer u meerdere IP-adressen en IP-adresblokken opgeeft, wordt 'OR'-logica toegepast.
- IPv4-voorbeeld: als u twee IP-adressen en toevoegt, wordt de voorwaarde afgestemd op aanvragen die afkomstig zijn van adres
1.2.3.410.20.30.401.2.3.4 of 10.20.30.40. - IPv6-voorbeeld: als u twee IP-adressen en toevoegt, wordt de voorwaarde afgestemd op aanvragen die afkomstig zijn van een van beide adressen
1:2:3:4:5:6:7:810:20:30:40:50:60:70:801:2:3:4:5:6:7:8 of 10:20:30:40:50:60:70:80.
- IPv4-voorbeeld: als u twee IP-adressen en toevoegt, wordt de voorwaarde afgestemd op aanvragen die afkomstig zijn van adres
- Extern adres vertegenwoordigt het oorspronkelijke client-IP-adres dat afkomstig is van de netwerkverbinding of meestal de aanvraagheader X-Forwarded-For als de gebruiker zich achter een proxy- of proxy-header voor houdt.
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Operator |
|
| Waarde |
|
Voorbeeld
In dit voorbeeld komen we overeen met alle aanvragen waarbij de aanvraag niet afkomstig is van de Verenigde Staten.
Aanvraagbody
De voorwaarde voor de overeenkomst van de aanvraagtekst identificeert aanvragen op basis van specifieke tekst die wordt weergegeven in de aanvraagtekst. U kunt meerdere waarden opgeven die overeenkomen, die worden gecombineerd met behulp van OR-logica.
Notitie
Als een aanvraag body groter is dan 64 kB, wordt alleen de eerste 64 KB in aanmerking genomen voor de voorwaarde voor de overeenkomst van de aanvraag body.
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Operator | Elke operator uit de lijst met standaardoperatoren. |
| Waarde | Een of meer tekenreeks- of gehele getallen die de waarde vertegenwoordigen van de tekst van de aanvraagtekst die moet overeenkomen. Als er meerdere waarden zijn opgegeven, worden deze geëvalueerd met behulp van OR-logica. |
| Transformatie van hoofdletters en kleine letters | Lowercase, Uppercase |
Voorbeeld
In dit voorbeeld komen we overeen met alle aanvragen waarbij de aanvraag body de tekenreeks ERROR bevat. We transformeren de aanvraag body naar hoofdletters voordat we de overeenkomst evalueren, dus ook andere error casevariaties activeren deze overeenkomstvoorwaarde.
Bestandsnaam van aanvraag
De voorwaarde voor de overeenkomst van de aanvraagbestandsnaam identificeert aanvragen die de opgegeven bestandsnaam in de aanvraag-URL bevatten. U kunt meerdere waarden opgeven die overeenkomen, die worden gecombineerd met behulp van OR-logica.
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Operator | Elke operator uit de lijst met standaardoperatoren. |
| Waarde | Een of meer tekenreeks- of gehele getallen die de waarde vertegenwoordigen van de naam van het aanvraagbestand dat moet overeenkomen. Als er meerdere waarden zijn opgegeven, worden deze geëvalueerd met behulp van OR-logica. |
| Transformatie van hoofdletters en kleine letters | Lowercase, Uppercase |
Voorbeeld
In dit voorbeeld komen we overeen met alle aanvragen waarbij de naam van het aanvraagbestand media.mp4 is. We transformeren de bestandsnaam naar kleine letters voordat we de overeenkomst evalueren, dus ook andere MEDIA.MP4 hoofdlettervariaties activeren deze overeenkomstvoorwaarde.
Bestandsextensie aanvragen
De voorwaarde voor de overeenkomst van de bestandsextensie van de aanvraag identificeert aanvragen die de opgegeven bestandsextensie bevatten in de bestandsnaam in de aanvraag-URL. U kunt meerdere waarden opgeven die overeenkomen, die worden gecombineerd met behulp van OR-logica.
Notitie
Neem geen vooraanstaand punt op. U kunt bijvoorbeeld html weergeven in plaats van .html.
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Operator | Elke operator uit de lijst met standaardoperatoren. |
| Waarde | Een of meer tekenreeks- of gehele getallen die de waarde vertegenwoordigen van de aanvraagbestandsextensie die moet overeenkomen. Neem geen vooraanstaand punt op. Als er meerdere waarden zijn opgegeven, worden deze geëvalueerd met behulp van OR-logica. |
| Transformatie van hoofdletters en kleine letters | Lowercase, Uppercase |
Voorbeeld
In dit voorbeeld komen we overeen met alle aanvragen waarbij de aanvraagbestandsextensie pdf of docx is. We transformeren de aanvraagbestandsextensie naar kleine letters voordat we de overeenkomst evalueren, zodat , en andere casevariaties ook PDF DocX deze overeenkomstvoorwaarde activeren.
Aanvraagheader
De voorwaarde voor de overeenkomst van de aanvraagheader identificeert aanvragen die een specifieke header in de aanvraag bevatten. U kunt deze voorwaarde voor overeenkomst gebruiken om te controleren of een header bestaat ongeacht de waarde, of om te controleren of de header overeenkomt met een opgegeven waarde. U kunt meerdere waarden opgeven die overeenkomen, die worden gecombineerd met behulp van OR-logica.
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Headernaam | Een tekenreekswaarde die de naam van het POST-argument vertegenwoordigt. |
| Operator | Elke operator uit de lijst met standaardoperatoren. |
| Waarde | Een of meer tekenreeks- of gehele getallen die de waarde vertegenwoordigen van de aanvraagheader die moet overeenkomen. Als er meerdere waarden zijn opgegeven, worden deze geëvalueerd met behulp van OR-logica. |
| Transformatie van hoofdletters en kleine letters | Lowercase, Uppercase |
Voorbeeld
In dit voorbeeld komen we overeen met alle aanvragen waarbij de aanvraag een header met de naam MyCustomHeader bevat, ongeacht de waarde.
Aanvraagmethode
De voorwaarde voor de overeenkomst van de aanvraagmethode identificeert aanvragen die gebruikmaken van de opgegeven HTTP-aanvraagmethode. U kunt meerdere waarden opgeven die overeenkomen, die worden gecombineerd met behulp van OR-logica.
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Operator |
|
| Aanvraagmethode | Een of meer HTTP-methoden van: GET , , , , , , POST PUT DELETE HEAD OPTIONS TRACE . Als er meerdere waarden zijn opgegeven, worden ze geëvalueerd met behulp van OR-logica. |
Voorbeeld
In dit voorbeeld komen we overeen met alle aanvragen waarbij de aanvraag de methode DELETE gebruikt.
Aanvraagpad
De voorwaarde voor de overeenkomst van het aanvraagpad identificeert aanvragen die het opgegeven pad in de aanvraag-URL bevatten. U kunt meerdere waarden opgeven die overeenkomen, die worden gecombineerd met behulp van OR-logica.
Notitie
Het pad is het deel van de URL na de hostnaam en een slash. In de URL is https://www.contoso.com/files/secure/file1.pdf het pad bijvoorbeeld files/secure/file1.pdf .
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Operator | Elke operator uit de lijst met standaardoperatoren. |
| Waarde | Een of meer tekenreeks- of gehele getallen die de waarde van het aanvraagpad vertegenwoordigen die moet overeenkomen. Neem de slash niet op. Als er meerdere waarden zijn opgegeven, worden ze geëvalueerd met behulp van OR-logica. |
| Transformatie van hoofdletters en kleine letters | Lowercase, Uppercase |
Voorbeeld
In dit voorbeeld komen we overeen met alle aanvragen waarbij het pad naar het aanvraagbestand begint met files/secure/ . We transformeren de bestandsextensie van de aanvraag naar kleine letters voordat we de overeenkomst evalueren, zodat aanvragen naar en andere casevariaties files/SECURE/ deze overeenkomstvoorwaarde ook activeren.
Aanvraagprotocol
De voorwaarde voor overeenkomst met het aanvraagprotocol identificeert aanvragen die gebruikmaken van het opgegeven protocol (HTTP of HTTPS).
Notitie
Protocol wordt ook wel schema genoemd.
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Operator |
|
| Aanvraagmethode | HTTP, HTTPS |
Voorbeeld
In dit voorbeeld komen we overeen met alle aanvragen waarbij de aanvraag gebruikmaakt van het HTTP protocol.
Aanvraag-URL
Hiermee worden aanvragen geïdentificeerd die overeenkomen met de opgegeven URL. De volledige URL wordt geëvalueerd, met inbegrip van het protocol en de queryreeks, maar niet het fragment. U kunt meerdere waarden opgeven die overeenkomen, die worden gecombineerd met behulp van OR-logica.
Tip
Wanneer u deze regelvoorwaarde gebruikt, moet u het protocol opnemen. Gebruik bijvoorbeeld in https://www.contoso.com plaats van alleen www.contoso.com .
Eigenschappen
| Eigenschap | Ondersteunde waarden |
|---|---|
| Operator | Elke operator uit de lijst met standaardoperatoren. |
| Waarde | Een of meer tekenreeks- of gehele getallen die de waarde vertegenwoordigen van de aanvraag-URL die moet overeenkomen. Als er meerdere waarden zijn opgegeven, worden ze geëvalueerd met behulp van OR-logica. |
| Transformatie van hoofdletters en kleine letters | Lowercase, Uppercase |
Voorbeeld
In dit voorbeeld komen we overeen met alle aanvragen waarbij de aanvraag-URL begint met https://api.contoso.com/customers/123 . We transformeren de bestandsextensie van de aanvraag naar kleine letters voordat we de overeenkomst evalueren, zodat aanvragen naar en andere casevariaties https://api.contoso.com/Customers/123 deze overeenkomstvoorwaarde ook activeren.
Lijst met operatoren
De volgende operators zijn geldig voor regels die waarden accepteren van de lijst met standaardoperators:
| Operator | Beschrijving | Ondersteuning voor ARM-sjablonen |
|---|---|---|
| Alle | Komt overeen met wanneer er een waarde is, ongeacht wat deze is. | operator: Any |
| Is gelijk aan | Komt overeen wanneer de waarde exact overeenkomt met de opgegeven tekenreeks. | operator: Equal |
| Contains | Komt overeen wanneer de waarde de opgegeven tekenreeks bevat. | operator: Contains |
| Kleiner dan | Komt overeen wanneer de lengte van de waarde kleiner is dan het opgegeven gehele getal. | operator: LessThan |
| Greater Than | Komt overeen wanneer de lengte van de waarde groter is dan het opgegeven gehele getal. | operator: GreaterThan |
| Kleiner dan of gelijk aan | Komt overeen wanneer de lengte van de waarde kleiner is dan of gelijk is aan het opgegeven gehele getal. | operator: LessThanOrEqual |
| Groter dan of gelijk aan | Komt overeen wanneer de lengte van de waarde groter is dan of gelijk is aan het opgegeven gehele getal. | operator: GreaterThanOrEqual |
| Begint met | Komt overeen wanneer de waarde begint met de opgegeven tekenreeks. | operator: BeginsWith |
| Eindigt op | Komt overeen met wanneer de waarde eindigt met de opgegeven tekenreeks. | operator: EndsWith |
| Regex | Komt overeen met wanneer de waarde overeenkomt met de opgegeven reguliere expressie. Zie hieronder voor meer informatie. | operator: RegEx |
| Geen | Komt overeen met wanneer er geen waarde is. | operator: Any en negateCondition : true |
| Niet gelijk aan | Komt overeen wanneer de waarde niet overeenkomt met de opgegeven tekenreeks. | operator: Equal en negateCondition : true |
| Bevat geen | Komt overeen wanneer de waarde niet de opgegeven tekenreeks bevat. | operator: Contains en negateCondition : true |
| Niet kleiner dan | Komt overeen wanneer de lengte van de waarde niet kleiner is dan het opgegeven gehele getal. | operator: LessThan en negateCondition : true |
| Niet groter dan | Komt overeen wanneer de lengte van de waarde niet groter is dan het opgegeven gehele getal. | operator: GreaterThan en negateCondition : true |
| Niet kleiner dan of gelijk aan | Komt overeen wanneer de lengte van de waarde niet kleiner is dan of gelijk is aan het opgegeven gehele getal. | operator: LessThanOrEqual en negateCondition : true |
| Niet groter dan of gelijk aan | Komt overeen wanneer de lengte van de waarde niet groter is dan of gelijk is aan het opgegeven gehele getal. | operator: GreaterThanOrEqual en negateCondition : true |
| Begint niet met | Komt overeen met wanneer de waarde niet begint met de opgegeven tekenreeks. | operator: BeginsWith en negateCondition : true |
| Eindigt niet op | Komt overeen wanneer de waarde niet eindigt met de opgegeven tekenreeks. | operator: EndsWith en negateCondition : true |
| Niet RegEx | Komt overeen wanneer de waarde niet overeenkomt met de opgegeven reguliere expressie. Zie hieronder voor meer informatie. | operator: RegEx en negateCondition : true |
Tip
Voor numerieke operators zoals Kleiner dan en Groter dan of gelijk aan wordt de gebruikte vergelijking gebaseerd op lengte. De waarde in de voorwaarde voor overeenkomst moet een geheel getal zijn dat de lengte aangeeft die u wilt vergelijken.
Reguliere expressies
Reguliere expressies bieden geen ondersteuning voor de volgende bewerkingen:
- Backreferences en het vastleggen van subexpressies.
- Willekeurige beweringen met een breedte van nul.
- Subroutineverwijzingen en recursieve patronen.
- Voorwaardelijke patronen.
- Backtracking van werkwoorden voor besturingselementen.
- De
\Csingle-byte-richtlijn. - De
\Rnewline match-richtlijn. - Het
\Kbegin van de match reset-richtlijn. - Bijroepen en ingesloten code.
- Atomische groepering en bezittige kwantifiers.
Volgende stappen
Azure Front Door:
- Meer informatie over Azure Front Door-engine
- Meer informatie over het configureren van uw eerste engine voor regels.
- Meer informatie over regelengine-acties
Azure Front Door Standard/Premium:
- Meer informatie over Azure Front Door Standard/Premium Rule Set.
- Meer informatie over het configureren van uw eerste regelset.
- Meer informatie over regelsetacties.