Azure Front Door acties voor regels

Azure Front Door en Azure Front Door Standard/Premium Rule Set bestaan uit regels met een combinatie van voorwaarden en acties voor overeenkomst. Dit artikel bevat een gedetailleerde beschrijving van het type acties dat u kunt gebruiken in Azure Front Door engine of regelset. De actie definieert het gedrag dat wordt toegepast op een aanvraagtype dat door een overeenkomstvoorwaarde(n) wordt geïdentificeerd. Een regel kan maximaal vijf acties bevatten.

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.

De volgende acties zijn beschikbaar voor gebruik in Azure Front Door regelset.

Verloop van cache

Gebruik de verloopactie van de cache om de TTL-waarde (Time to Live) van het eindpunt te overschrijven voor aanvragen die voldoen aan de voorwaarden van de regels.

Notitie

Oorsprongen kunnen opgeven dat specifieke antwoorden niet in de cache worden opgeslagen met behulp van Cache-Control de header met de waarde , of no-cache private no-store . In deze omstandigheden Front Door de inhoud nooit in de cache opgeslagen en heeft deze actie geen effect.

Eigenschappen

Eigenschap Ondersteunde waarden
Cachegedrag
  • Cache omzeilen: De inhoud mag niet in de cache worden opgeslagen. Stel in ARM-sjablonen de cacheBehavior eigenschap in op BypassCache .
  • Overschrijven: De TTL-waarde die door uw oorsprong wordt geretourneerd, wordt overschreven met de waarde die is opgegeven in de actie. Dit gedrag wordt alleen toegepast als het antwoord in de cache kan worden opgeslagen. Stel in ARM-sjablonen de cacheBehavior eigenschap in op Override .
  • Stel deze in als deze ontbreekt: Als er geen TTL-waarde wordt geretourneerd van uw oorsprong, stelt de regel de TTL in op de waarde die is opgegeven in de actie. Dit gedrag wordt alleen toegepast als het antwoord in de cache kan worden opgeslagen. Stel in ARM-sjablonen de cacheBehavior eigenschap in op SetIfMissing .
Cacheduur Wanneer Cachegedrag is ingesteld op Override of , moeten deze velden de Set if missing cacheduur opgeven die moet worden gebruikt. De maximale duur is 366 dagen.
  • In de Azure Portal: geef de dagen, uren, minuten en seconden op.
  • In ARM-sjablonen: geef de duur op in de indeling d.hh:mm:ss .

Voorbeeld

In dit voorbeeld overschrijven we de verlooptijd van de cache op 6 uur voor overeenkomende aanvragen die nog geen cacheduur opgeven.

Schermopname van de portal met de actie voor het verlopen van de cache.

Queryreeks voor cachesleutel

Gebruik de queryreeksactie cachesleutel om de cachesleutel te wijzigen op basis van queryreeksen. De cachesleutel is de manier waarop Front Door unieke aanvragen voor de cache identificeert.

Eigenschappen

Eigenschap Ondersteunde waarden
Gedrag
  • Neem het volgende op: Queryreeksen die zijn opgegeven in de parameters worden opgenomen wanneer de cachesleutel wordt gegenereerd. Stel in ARM-sjablonen de queryStringBehavior eigenschap in op Include .
  • Elke unieke URL in de cache opgeslagen: Elke unieke URL heeft een eigen cachesleutel. Gebruik in ARM-sjablonen queryStringBehavior de van IncludeAll .
  • Uitsluiten: Queryreeksen die zijn opgegeven in de parameters worden uitgesloten wanneer de cachesleutel wordt gegenereerd. Stel in ARM-sjablonen de queryStringBehavior eigenschap in op Exclude .
  • Queryreeksen negeren: Queryreeksen worden niet in aanmerking genomen wanneer de cachesleutel wordt gegenereerd. Stel in ARM-sjablonen de queryStringBehavior eigenschap in op ExcludeAll .
Parameters De lijst met queryreeksparameternamen, gescheiden door komma's.

Voorbeeld

In dit voorbeeld wijzigen we de cachesleutel om een queryreeksparameter met de naam op te customerId nemen.

Schermopname van de portal met de queryreeksactie cachesleutel.

Aanvraagheader wijzigen

Gebruik de actie aanvraagheader wijzigen om de headers in de aanvraag te wijzigen wanneer deze naar uw oorsprong worden verzonden.

Eigenschappen

Eigenschap Ondersteunde waarden
Operator
  • Append: De opgegeven header wordt toegevoegd aan de aanvraag met de opgegeven waarde. Als de header al aanwezig is, wordt de waarde toegevoegd aan de bestaande headerwaarde met behulp van tekenreeksen samenvoegen. Er worden geen scheidingstekens toegevoegd. Gebruik in ARM-sjablonen headerAction de van Append .
  • Overschrijven: De opgegeven header wordt toegevoegd aan de aanvraag met de opgegeven waarde. Als er al een header aanwezig is, overschrijft de opgegeven waarde de bestaande waarde. Gebruik in ARM-sjablonen headerAction de van Overwrite .
  • Verwijderen: Als de header die is opgegeven in de regel aanwezig is, wordt de header verwijderd uit de aanvraag. Gebruik in ARM-sjablonen headerAction de van Delete .
Headernaam De naam van de header die moet worden gewijzigd.
Headerwaarde De waarde die u wilt toevoegen of overschrijven.

Voorbeeld

In dit voorbeeld wordt de waarde aan de AdditionalValue aanvraagheader MyRequestHeader toevoegen. Als de oorsprong de antwoordheader in stelt op een waarde van , heeft de aanvraagheader na het toepassen van deze actie ValueSetByClient de waarde ValueSetByClientAdditionalValue .

Schermopname van de portal met de actie Aanvraagheader wijzigen.

Antwoordheader wijzigen

Gebruik de actie antwoordheader wijzigen om headers te wijzigen die aanwezig zijn in antwoorden voordat ze worden geretourneerd naar uw clients.

Eigenschappen

Eigenschap Ondersteunde waarden
Operator
  • Append: De opgegeven header wordt toegevoegd aan het antwoord met de opgegeven waarde. Als de header al aanwezig is, wordt de waarde toegevoegd aan de bestaande headerwaarde met behulp van tekenreeksen samenvoegen. Er worden geen scheidingstekens toegevoegd. Gebruik in ARM-sjablonen headerAction de van Append .
  • Overschrijven: De opgegeven header wordt toegevoegd aan het antwoord met de opgegeven waarde. Als er al een header aanwezig is, overschrijft de opgegeven waarde de bestaande waarde. Gebruik in ARM-sjablonen headerAction de van Overwrite .
  • Verwijderen: Als de header die is opgegeven in de regel aanwezig is, wordt de header verwijderd uit het antwoord. Gebruik in ARM-sjablonen headerAction de van Delete .
Headernaam De naam van de header die moet worden gewijzigd.
Headerwaarde De waarde die u wilt toevoegen of overschrijven.

Voorbeeld

In dit voorbeeld verwijderen we de header met de naam uit de antwoorden X-Powered-By voordat ze worden geretourneerd naar de client.

Schermopname van de portal met de actie Antwoordheader wijzigen.

URL-omleiding

Gebruik de URL-omleidingsactie om clients om te leiden naar een nieuwe URL. Clients krijgen een omleidingsreactie van Front Door.

Eigenschappen

Eigenschap Ondersteunde waarden
Omleidingstype Het antwoordtype dat moet worden terug gegeven aan de requestor.
  • In de Azure Portal: Gevonden (302), Verplaatst (301), Tijdelijke omleiding (307), Permanente omleiding (308).
  • In ARM-sjablonen: Found Moved , , TemporaryRedirect , PermanentRedirect
Omleidingsprotocol
  • In de Azure Portal: Match Request HTTP , , HTTPS
  • In ARM-sjablonen: MatchRequest Http , , Https
Doelhost De hostnaam waar u de aanvraag naar wilt omleiden. Laat het veld leeg om de binnenkomende host te behouden.
Doelpad Het pad dat moet worden gebruikt in de omleiding. Neem de vooraanstaande / op. Laat het veld leeg als u het binnenkomende pad wilt behouden.
Queryreeksen De queryreeks die wordt gebruikt in de omleiding. Neem de vooraanstaande niet ? op. Laat het veld leeg om de binnenkomende queryreeks te behouden.
Doelfragment Het fragment dat moet worden gebruikt in de omleiding. Laat het veld leeg om het binnenkomende fragment te behouden.

Voorbeeld

In dit voorbeeld wordt de aanvraag omgeleid naar https://contoso.com/exampleredirection?clientIp={client_ip} , met behoud van het fragment. Er wordt een tijdelijke HTTP-omleiding (307) gebruikt. Het IP-adres van de client wordt gebruikt in plaats van het {client_ip} token binnen de URL met behulp van de client_ip servervariabele.

Schermopname van de portal met url-omleidingsactie.

URL opnieuw genereren

Gebruik de actie voor het herschrijven van url's om het pad te herschrijven van een aanvraag die naar uw oorsprong wordt doorgeleid.

Eigenschappen

Eigenschap Ondersteunde waarden
Bronpatroon Definieer het bronpatroon in het URL-pad dat moet worden vervangen. Op dit moment maakt het bronpatroon gebruik van een overeenkomst op basis van voorvoegsels. Als u wilt overeenkomen met alle URL-paden, gebruikt u een slash / () als de waarde voor het bronpatroon.
Doel Definieer het doelpad dat moet worden gebruikt in het herschrijven. Het doelpad overschrijft het bronpatroon.
Niet-overeenkomend pad behouden Als deze is ingesteld op Ja, wordt het resterende pad na het bronpatroon toegevoegd aan het nieuwe doelpad.

Voorbeeld

In dit voorbeeld herschrijven we alle aanvragen naar het pad en behouden we de /redirection rest van het pad niet.

Schermopname van de portal met de actie voor het herschrijven van url's.

Overschrijven oorspronggroep

Gebruik de actie Overschrijven van oorspronggroep om de oorspronggroep te wijzigen waar de aanvraag naar moet worden doorgeleid.

Eigenschappen

Eigenschap Ondersteunde waarden
Oorspronggroep De oorspronggroep waar de aanvraag naar moet worden doorgeleid. Hiermee wordt de configuratie overschreven die is opgegeven in Front Door eindpuntroute.

Voorbeeld

In dit voorbeeld sturen we alle overeenkomende aanvragen door naar een oorspronkelijke groep met de naam , ongeacht de configuratie SecondOriginGroup in Front Door eindpuntroute.

Schermopname van de portal met de actie voor het overschrijven van de oorspronggroep.

Servervariabelen

Servervariabelen voor regelset bieden toegang tot gestructureerde informatie over de aanvraag. U kunt servervariabelen gebruiken om de aanvraag-/antwoordheaders dynamisch te wijzigen of paden/queryreeksen voor het herschrijven van URL's, bijvoorbeeld wanneer een nieuwe pagina wordt geladen of wanneer een formulier wordt geplaatst.

Ondersteunde variabelen

Naam van de variabele Beschrijving
socket_ip Het IP-adres van de directe verbinding met Azure Front Door edge. Als de client een HTTP-proxy of een load balancer gebruikt om de aanvraag te verzenden, is de waarde van het IP-adres van de socket_ip proxy of load balancer.
client_ip Het IP-adres van de client die de oorspronkelijke aanvraag heeft ingediend. Als de aanvraag een header heeft, wordt het IP-adres van de X-Forwarded-For client uit de header opgehaald.
client_port De IP-poort van de client die de aanvraag heeft ingediend.
hostname De hostnaam in de aanvraag van de client.
geo_country Geeft het land/de regio van oorsprong van de aanvraag aan via de land-/regiocode.
http_method De methode die wordt gebruikt om de URL-aanvraag te maken, zoals GET of POST .
http_version Het aanvraagprotocol. Meestal HTTP/1.0 , HTTP/1.1 of HTTP/2.0 .
query_string De lijst met variabele/waarde-paren die volgt op de '?' in de aangevraagde URL.
In de aanvraag is http://contoso.com:8080/article.aspx?id=123&title=fabrikam de query_string waarde bijvoorbeeld id=123&title=fabrikam .
request_scheme Het aanvraagschema: http of https .
request_uri De volledige oorspronkelijke aanvraag-URI (met argumenten).
In de aanvraag is http://contoso.com:8080/article.aspx?id=123&title=fabrikam de request_uri waarde bijvoorbeeld /article.aspx?id=123&title=fabrikam .
ssl_protocol Het protocol van een tot stand gebrachte TLS-verbinding.
server_port De poort van de server die een aanvraag heeft geaccepteerd.
url_path Identificeert de specifieke resource in de host die de webclient wil openen. Dit is het deel van de aanvraag-URI zonder de argumenten.
In de aanvraag is http://contoso.com:8080/article.aspx?id=123&title=fabrikam de uri_path waarde bijvoorbeeld /article.aspx .

Indeling van servervariabelen

Servervariabelen kunnen worden opgegeven met de volgende indelingen:

  • {variable}: Neem de volledige servervariabele op. Als het IP-adres van de client bijvoorbeeld 111.222.333.444 is, wordt {client_ip} het token geëvalueerd als 111.222.333.444 .
  • {variable:offset}: Neem de servervariabele op na een specifieke offset, tot het einde van de variabele. De offset is op nul gebaseerd. Als het IP-adres van de client bijvoorbeeld 111.222.333.444 is, wordt {client_ip:3} het token geëvalueerd als .222.333.444 .
  • {variable:offset:length}: Neem de servervariabele op na een specifieke offset, tot de opgegeven lengte. De offset is op nul gebaseerd. Als het IP-adres van de client bijvoorbeeld 111.222.333.444 is, wordt {client_ip:4:3} het token geëvalueerd als 222 .

Ondersteunde acties

Servervariabelen worden ondersteund voor de volgende acties:

  • Queryreeks voor cachesleutel
  • Aanvraagheader wijzigen
  • Antwoordheader wijzigen
  • URL-omleiding
  • URL opnieuw genereren

Volgende stappen