Azure Front Door pravidel

Azure Front Door pravidla a Azure Front Door pravidel typu Standard/Premium se skládají z pravidel s kombinací podmínek shody a akcí. Tento článek obsahuje podrobný popis akcí typu, které můžete použít v Azure Front Door pravidel nebo v sadě pravidel. Akce definuje chování, které se použije na typ požadavku, který identifikuje podmínka nebo podmínky shody. Pravidlo může obsahovat až pět akcí.

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.

Následující akce můžete použít v Azure Front Door pravidel.

Vypršení platnosti mezipaměti

Akce vypršení platnosti mezipaměti slouží k přepsání hodnoty TTL (Time to Live) koncového bodu pro požadavky, které pravidla odpovídají podmínkám.

Poznámka

Zdroj může specifikovat neu mezipaměti konkrétních odpovědí pomocí hlavičky s Cache-Control hodnotou no-cache , nebo private no-store . Za těchto okolností Front Door obsah nikdy neu mezipaměti a tato akce nebude mít žádný vliv.

Vlastnosti

Vlastnost Podporované hodnoty
Chování mezipaměti
  • Nepoužívat mezipaměť: Obsah by se neměl ukládat do mezipaměti. V šablonách ARM nastavte cacheBehavior vlastnost na BypassCache .
  • Přepsat: Hodnota TTL vrácená z vašeho původu se přepíše hodnotou zadanou v akci. Toto chování se použije pouze v případě, že odpověď je možné ukládat do mezipaměti. V šablonách ARM nastavte cacheBehavior vlastnost na Override .
  • Nastavte, pokud chybí: Pokud se z původního zdroje nevrátila žádná hodnota TTL, pravidlo nastaví hodnotu TTL na hodnotu zadanou v akci. Toto chování se použije pouze v případě, že odpověď je možné ukládat do mezipaměti. V šablonách ARM nastavte cacheBehavior vlastnost na SetIfMissing .
Doba trvání mezipaměti Pokud je chování mezipaměti nastavené na nebo , musí tato pole určit dobu Override trvání Set if missing mezipaměti, která se má použít. Maximální doba trvání je 366 dnů.
  • V části Azure Portal: zadejte dny, hodiny, minuty a sekundy.
  • V části Šablony ARM: Zadejte dobu trvání ve formátu d.hh:mm:ss .

Příklad

V tomto příkladu přepíšeme vypršení platnosti mezipaměti na 6 hodin pro odpovídající požadavky, které ještě nezadá dobu trvání mezipaměti.

Snímek obrazovky portálu zobrazující akci vypršení platnosti mezipaměti

Řetězec dotazu klíče mezipaměti

K úpravě klíče mezipaměti na základě řetězců dotazů použijte akci řetězce dotazu klíče mezipaměti. Klíč mezipaměti je způsob, jakým Front Door identifikuje jedinečné požadavky na ukládání do mezipaměti.

Vlastnosti

Vlastnost Podporované hodnoty
Chování
  • Zahrnout: Řetězce dotazů zadané v parametrech se zahrnou při vygenerování klíče mezipaměti. V šablonách ARM nastavte queryStringBehavior vlastnost na Include .
  • Ukládat do mezipaměti každou jedinečnou adresu URL: Každá jedinečná adresa URL má svůj vlastní klíč mezipaměti. V šablonách ARM použijte queryStringBehavior . IncludeAll
  • Vyloučit: Řetězce dotazů zadané v parametrech se vyloučí, když se vygeneruje klíč mezipaměti. V šablonách ARM nastavte queryStringBehavior vlastnost na Exclude .
  • Ignorovat řetězce dotazů: Řetězce dotazů se při generování klíče mezipaměti nezovažují. V šablonách ARM nastavte queryStringBehavior vlastnost na ExcludeAll .
Parametry Seznam názvů parametrů řetězce dotazu oddělených čárkami.

Příklad

V tomto příkladu upravíme klíč mezipaměti tak, aby zahrnoval parametr řetězce dotazu s názvem customerId .

Snímek obrazovky portálu znázorňující akci řetězce dotazu klíče mezipaměti

Úprava hlavičky požadavku

Pomocí akce upravit hlavičku požadavku můžete upravit hlavičky v požadavku při odeslání do původního zdroje.

Vlastnosti

Vlastnost Podporované hodnoty
Operátor
  • Připojení: Zadaná hlavička se přidá do požadavku se zadanou hodnotou. Pokud hlavička již existuje, hodnota se připojí k existující hodnotě hlavičky pomocí zřetězení řetězců. Nejsou přidány žádné oddělovače. V šablonách ARM použijte headerAction . Append
  • Přepsat: Zadaná hlavička se přidá do požadavku se zadanou hodnotou. Pokud hlavička již existuje, zadaná hodnota přepíše existující hodnotu. V šablonách ARM použijte headerAction . Overwrite
  • Odstranit: Pokud je hlavička zadaná v pravidle, odstraní se z požadavku. V šablonách ARM použijte headerAction . Delete
Název hlavičky Název hlavičky, která se má upravit.
Hodnota hlavičky Hodnota, která se má připojit nebo přepsat.

Příklad

V tomto příkladu připojíme hodnotu AdditionalValue k hlavičce MyRequestHeader požadavku. Pokud zdroj nastavil hlavičku odpovědi na hodnotu , pak po použití této akce bude hlavička požadavku ValueSetByClient mít hodnotu ValueSetByClientAdditionalValue .

Snímek obrazovky portálu znázorňující akci upravit hlavičku požadavku

Úprava hlavičky odpovědi

Pomocí akce upravit hlavičku odpovědi můžete upravit hlavičky, které jsou přítomné v odpovědích před jejich vrácením vašim klientům.

Vlastnosti

Vlastnost Podporované hodnoty
Operátor
  • Připojení: Zadaná hlavička se přidá do odpovědi se zadanou hodnotou. Pokud hlavička již existuje, hodnota se připojí k existující hodnotě hlavičky pomocí zřetězení řetězců. Nejsou přidány žádné oddělovače. V šablonách ARM použijte headerAction . Append
  • Přepsat: Zadaná hlavička se přidá do odpovědi se zadanou hodnotou. Pokud hlavička již existuje, zadaná hodnota přepíše existující hodnotu. V šablonách ARM použijte headerAction Overwrite .
  • Odstranit: Pokud je k dispozici hlavička uvedená v pravidle, hlavička se odstraní z odpovědi. V šablonách ARM použijte headerAction Delete .
Název hlavičky Název záhlaví, které chcete upravit.
Hodnota hlavičky Hodnota, která má být připojena nebo přepsána.

Příklad

V tomto příkladu odstraníme hlavičku s názvem X-Powered-By z odpovědí předtím, než se vrátí klientovi.

Snímek obrazovky portálu znázorňující akci pro úpravu hlavičky odpovědi

Přesměrování adresy URL

Použijte akci přesměrování adresy URL pro přesměrování klientů na novou adresu URL. Klientům se pošle odezva na přesměrování z předních dveří.

Vlastnosti

Vlastnost Podporované hodnoty
Typ přesměrování Typ odpovědi, který se má vrátit žadateli.
  • V Azure Portal: Nalezeno (302), přesunuto (301), dočasné přesměrování (307), trvalé přesměrování (308).
  • V šablonách ARM: Found , Moved , TemporaryRedirect , PermanentRedirect
Protokol přesměrování
  • V Azure Portal: Match Request , HTTP , HTTPS
  • V šablonách ARM: MatchRequest , Http , Https
Cílový hostitel Název hostitele, na který chcete požadavek přesměrovat. Ponechte prázdné, pokud chcete zachovat příchozího hostitele.
Cílová cesta Cesta, která se má použít v přesměrování Zahrňte úvodní / . Ponechte prázdné, pokud chcete zachovat příchozí cestu.
Řetězec dotazu Řetězec dotazu použitý v přesměrování Nezahrnujte úvodní ? . Ponechte prázdné, pokud chcete zachovat příchozí řetězec dotazu.
Fragment cíle Fragment, který se má použít při přesměrování. Ponechte prázdné, pokud chcete zachovat příchozí fragment.

Příklad

V tomto příkladu přesměrujeme požadavek na https://contoso.com/exampleredirection?clientIp={client_ip} a zároveň zachováte fragment. Je použito dočasné přesměrování HTTP (307). IP adresa klienta se používá místo {client_ip} tokenu v rámci adresy URL pomocí client_ip proměnné serveru.

Snímek obrazovky portálu znázorňující akci přesměrování adresy URL

Přepsání adresy URL

Pomocí akce přepisu adresy URL přepište cestu k žádosti, která je v cestě k původnímu zdroji.

Vlastnosti

Vlastnost Podporované hodnoty
Zdrojový vzor Definujte zdrojový vzor v cestě URL, která má být nahrazena. V současné době zdrojový vzor používá shodu na základě předpony. Pro vyhledání všech cest URL použijte lomítko ( / ) jako hodnotu zdrojového vzoru.
Cíl Zadejte cílovou cestu, která se má použít při přepisování. Cílová cesta přepíše zdrojový vzor.
Zachovat neshodnou cestu Pokud je nastaveno na Ano, zbývající cesta po zdrojovém vzoru se připojí k nové cílové cestě.

Příklad

V tomto příkladu přepíšeme všechny požadavky na cestu /redirection a nezachováme zbytek cesty.

Snímek obrazovky portálu znázorňující akci přepsání adresy URL

Přepsání původní skupiny

Pomocí akce přepsání původní skupiny změňte skupinu původních požadavků, na kterou má být požadavek směrován.

Vlastnosti

Vlastnost Podporované hodnoty
Skupina původu Původní skupina, do níž má být požadavek směrován. Tím se přepíše konfigurace zadaná v trase koncového bodu front-dveří.

Příklad

V tomto příkladu budeme směrovat všechny vyhovující požadavky na skupinu původu s názvem SecondOriginGroup , bez ohledu na konfiguraci v trase koncového bodu front-dveří.

Snímek obrazovky portálu znázorňující akci přepsání zdrojové skupiny

Serverové proměnné

Proměnné serveru sady pravidel poskytují přístup k strukturovaným informacím o žádosti. Proměnné serveru můžete použít k dynamické změně hlaviček žádosti nebo odpovědi nebo cest pro přepis adres URL nebo řetězců dotazů, například při načtení nové stránky nebo při publikování formuláře.

Podporované proměnné

Název proměnné Description
socket_ip IP adresa přímého připojení k hraničnímu zařízení Azure pro frontu. Pokud klient pro odeslání žádosti použil proxy server HTTP nebo nástroj pro vyrovnávání zatížení, hodnota socket_ip je IP adresa proxy serveru nebo nástroje pro vyrovnávání zatížení.
client_ip IP adresa klienta, který vytvořil původní požadavek. Pokud X-Forwarded-For v žádosti existovala hlavička, IP adresa klienta se vybrala z hlavičky.
client_port Port IP klienta, který odeslal požadavek.
hostname Název hostitele v požadavku od klienta.
geo_country Určuje zemi nebo oblast původu žadatele prostřednictvím kódu země nebo oblasti.
http_method Metoda použitá k vytvoření žádosti adresy URL, například GET nebo POST .
http_version Protokol žádosti. Obvykle HTTP/1.0 , HTTP/1.1 nebo HTTP/2.0 .
query_string Seznam párů proměnných/hodnot, které následují po "?" v požadované adrese URL.
Například v požadavku http://contoso.com:8080/article.aspx?id=123&title=fabrikam query_string bude hodnota id=123&title=fabrikam .
request_scheme Schéma požadavku: http nebo https .
request_uri Úplný identifikátor URI původního požadavku (s argumenty).
Například v požadavku http://contoso.com:8080/article.aspx?id=123&title=fabrikam bude request_uri hodnota /article.aspx?id=123&title=fabrikam .
ssl_protocol Protokol na navázatého připojení TLS.
server_port Port serveru, který přijal požadavek.
url_path Určuje konkrétní prostředek v hostiteli, ke které chce webový klient přistupovat. Toto je část identifikátoru URI požadavku bez argumentů.
Například v požadavku http://contoso.com:8080/article.aspx?id=123&title=fabrikam bude uri_path hodnota /article.aspx .

Formát proměnné serveru

Proměnné serveru je možné zadat pomocí následujících formátů:

  • {variable}: Zahrnte celou proměnnou serveru. Pokud je například IP adresa klienta 111.222.333.444 , {client_ip} token se vyhodnotí jako 111.222.333.444 .
  • {variable:offset}: Za určitý posun zahrnte proměnnou serveru až do konce proměnné. Posun je založený na nule. Pokud je například IP adresa klienta 111.222.333.444 , {client_ip:3} token se vyhodnotí jako .222.333.444 .
  • {variable:offset:length}: Za konkrétní posun zahrnte proměnnou serveru až do zadané délky. Posun je založený na nule. Pokud je například IP adresa klienta 111.222.333.444 , {client_ip:4:3} token se vyhodnotí jako 222 .

Podporované akce

Proměnné serveru jsou podporovány u následujících akcí:

  • Řetězec dotazu klíče mezipaměti
  • Úprava hlavičky požadavku
  • Úprava hlavičky odpovědi
  • Přesměrování adresy URL
  • Přepsání adresy URL

Další kroky