Proměnné serveru sady pravidel služby Azure Front Door
Proměnné serveru sady pravidel poskytují přístup k strukturovaným informacím o požadavku při práci se sadami pravidel.
Při použití podmínek shody sady pravidel jsou proměnné serveru k dispozici jako podmínky shody, abyste mohli identifikovat požadavky s konkrétními vlastnostmi.
Když používáte akce sady pravidel, můžete pomocí proměnných serveru dynamicky změnit hlavičky požadavků a odpovědí a přepsat adresy URL, cesty a řetězce dotazu, například při načtení nové stránky nebo při publikování formuláře.
Poznámka:
Proměnné serveru jsou k dispozici s úrovněmi Azure Front Door Standard a Premium.
Podporované proměnné
Název proměnné | Popis |
---|---|
socket_ip |
IP adresa přímého připojení ke službě Azure Front Door Edge. Pokud klient k odeslání požadavku 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í.Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte adresu soketu. |
client_ip |
IP adresa klienta, který provedl původní požadavek. Pokud v požadavku byla X-Forwarded-For hlavička, vybere se z hlavičky IP adresa klienta.Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte vzdálenou adresu a nakonfigurujte operátora tak, aby odpovídal IP adrese nebo ip adrese neodpovídá. |
client_port |
Port IP klienta, který požadavek provedl. Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte port klienta. |
hostname |
Název hostitele v požadavku od klienta. Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte název hostitele. |
geo_country |
Označuje zemi nebo oblast původu žadatele prostřednictvím kódu země/oblasti. Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte vzdálenou adresu a nakonfigurujte operátora na geo match nebo Geo Not Match. |
http_method |
Metoda použitá k provedení požadavku na adresu URL, například GET nebo POST .Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte metodu Request. |
http_version |
Protokol požadavku. Obvykle HTTP/1.0 , HTTP/1.1 nebo HTTP/2.0 .Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte verzi HTTP. |
query_string |
Seznam dvojic proměnných a hodnot, které se řídí ? požadovanou adresou URL.Například v požadavku http://contoso.com:8080/article.aspx?id=123&title=fabrikam query_string je id=123&title=fabrikam hodnota .Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte řetězec dotazu. |
request_scheme |
Schéma žádosti: http nebo https .Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte protokol požadavku. |
request_uri |
Úplný původní identifikátor URI požadavku (s argumenty). Například v požadavku http://contoso.com:8080/article.aspx?id=123&title=fabrikam request_uri je http://contoso.com:8080/article.aspx?id=123&title=fabrikam hodnota .Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte adresu URL požadavku. |
ssl_protocol |
Protokol vytvořeného připojení TLS. Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte protokol SSL. |
server_port |
Port serveru, který přijal požadavek. Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte port serveru. |
url_path |
Identifikuje konkrétní prostředek v hostiteli, ke kterému chce webový klient přistupovat. Toto je část identifikátoru URI požadavku bez argumentů nebo počáteční lomítko. Například v požadavku http://contoso.com:8080/article.aspx?id=123&title=fabrikam url_path je article.aspx hodnota . Azure Front Door podporuje dynamické zachytávání cest URL s {url_path:seg#} proměnnou serveru a převádí cestu URL na malá nebo velká písmena s {url_path.tolower} nebo {url_path.toupper} . Další informace naleznete v tématu Formát proměnné serveru a Proměnné serveru. Pokud chcete získat přístup k této proměnné serveru v podmínce shody, použijte podmínku cesty požadavku. |
Formát proměnné serveru
Při práci s akcemi sady pravidel určete proměnné serveru pomocí následujících formátů:
{variable}
: Zahrňte celou proměnnou serveru. Pokud je111.222.333.444
například IP adresa klienta,{client_ip}
token by se vyhodnotil jako111.222.333.444
.{variable:offset}
: Zahrňte proměnnou serveru po určitém posunu až do konce proměnné. Posun je založený na nule. Pokud je111.222.333.444
například IP adresa klienta,{client_ip:3}
token by se vyhodnotil jako.222.333.444
.{variable:offset:length}
: Zahrňte proměnnou serveru po určitém posunu až do zadané délky. Posun je založený na nule. Například pokud je proměnná var 'AppId=01f592979c584d0f9d679db3e66a3e5e',- Posuny v rozsahu, žádné délky:
{var:0}
=AppId=01f592979c584d0f9d679db3e66a3e5e
,{var:6}
=01f592979c584d0f9d679db3e66a3e5e
,{var:-8}
=e66a3e5e
- Posuny mimo rozsah, žádné délky:
{var:-128}
=AppId=01f592979c584d0f9d679db3e66a3e5e
,{var:128}
= null - Posuny a délky v rozsahu:
{var:0:5}
=AppId
, ,{var:7:7}
=1f59297
{var:7:-7}
=1f592979c584d0f9d679db3e
- Nulové délky:
{var:0:0}
= null,{var:4:0}
= null - Posuny v rozsahu a délce mimo rozsah:
{var:0:100}
AppId=01f592979c584d0f9d679db3e66a3e5e
= , ,=01f592979c584d0f9d679db3e66a3e5e
={var:5:100}
={var:0:-48}
null,{var:4:-48}
= null
- Posuny v rozsahu, žádné délky:
{url_path:seg#}
: Umožňuje uživatelům zachytit a použít požadovaný segment cesty adresy URL v přesměrování adresy URL, přepsání adresy URL nebo jakoukoli smysluplnou akci. Uživatel může také zachytit více segmentů pomocí stejného stylu jako záznam podřetědce{url_path:seg1:3}
. Například pro vzor/id/12345/default
zdroje a přepsání adresy URL cíl/{url_path:seg1}/home
, očekávaná cesta URL po přepsání je/12345/home
. V případě zachycení více segmentů, pokud je/id/12345/default/location/test
zdrojový vzor , adresa URL přepisuje cílové/{url_path:seg1:3}/home
výsledky ./12345/default/location/home
Zachytávání segmentů zahrnuje cestu k umístění, takže pokud je/match/*
trasa , segment 0 se shoduje.Posun odpovídá indexu počátečního segmentu a délka odkazuje na počet segmentů, které se mají zachytit, včetně segmentu na indexu = posunu.
Za předpokladu, že posun a délka jsou kladné, platí následující logika:
- Pokud délka není zahrnutá, zachyťte segment u indexu = posun.
- Při zahrnutí délky zachytávání segmentů z indexu = posun nahoru do indexu = posun + délka.
Zpracují se také následující zvláštní případy:
- Pokud je posun záporný, spočítejte zpět od konce cesty, abyste získali počáteční segment.
- Pokud je posun zápornou hodnotou větší nebo rovna počtu segmentů, nastaví se na hodnotu 0.
- Pokud je posun větší než počet segmentů, výsledek je prázdný.
- Pokud je délka 0, vrátí jeden segment určený posunem.
- Pokud je délka záporná, považovat ji za druhý posun a vypočítat zpět od konce cesty. Pokud je hodnota menší než posun, bude výsledkem prázdný řetězec.
- Pokud je délka větší než počet segmentů, vrátí to, co zůstane v cestě.
{url_path.tolower}
/{url_path.toupper}
: Převeďte cestu URL na malá nebo velká písmena. Například cíl{url_path.tolower}
v adrese URL přepíše/přesměruje výsledky/lowercase/ABcDXyZ/EXAMPLE
ve/lowercase/abcdxyz/example
výsledcích . Cíl{url_path.toupper}
v adrese URL přepíše nebo přesměruje výsledky/ABcDXyZ/example
ve/ABCDXYZ/EXAMPLE
výsledcích .
Podporované akce sady pravidel
Proměnné serveru jsou podporovány v následujících akcích sady pravidel:
- Chování ukládání řetězců dotazů do mezipaměti v přepsání konfigurace trasy
- Úprava hlavičky požadavku
- Úprava hlavičky odpovědi
- Přesměrování adresy URL
- Přepsání adresy URL
Další kroky
- Přečtěte si další informace o sadě pravidel služby Azure Front Door.
- Přečtěte si další informace o podmínkách shody sady pravidel.
- Přečtěte si další informace o akcích sady pravidel.