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.1nebo 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=fabrikamquery_string je id=123&title=fabrikamhodnota .
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=fabrikamrequest_uri je http://contoso.com:8080/article.aspx?id=123&title=fabrikamhodnota .
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=fabrikamurl_path je article.aspxhodnota .
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 je 111.222.333.444 například IP adresa klienta, {client_ip} token by se vyhodnotil jako 111.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 je 111.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
  • {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/testzdrojový 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/examplevýsledcích . Cíl {url_path.toupper} v adrese URL přepíše nebo přesměruje výsledky /ABcDXyZ/example ve /ABCDXYZ/EXAMPLEvýsledcích .

Podporované akce sady pravidel

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

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.