Jak se požadavky shodují s konfigurací trasy

Trasa ve službě Azure Front Door definuje způsob zpracování provozu při příchodu příchozího požadavku na hraniční zařízení Azure Front Door. Prostřednictvím nastavení trasy se definuje přidružení mezi doménou a skupinou původu. Pomocí pokročilých funkcí, jako je model porovnávání a sad pravidel, můžete mít podrobnou kontrolu nad provozem do back-endových prostředků.

Poznámka:

Když používáte sady pravidel služby Front Door, můžete nakonfigurovat pravidlo pro přepsání skupiny původu pro požadavek. Skupina původu nastavená sadou pravidel přepíše proces směrování popsaný v tomto článku.

Důležité

Služba Azure Front Door (Classic) bude vyřazena 31. března 2027. Abyste se vyhnuli přerušení služeb, je důležité do března 2027 migrovat profily služby Azure Front Door (Classic) na úroveň Azure Front Door Standard nebo Premium. Další informace najdete v části Vyřazení služby Azure Front Door (Classic).

Když požadavek dorazí na hraniční zařízení Azure Front Door (Classic), jednou z prvních věcí, které služba Front Door provede, je určit, jak směrovat odpovídající požadavek do back-endového prostředku a pak provést definovanou akci v konfiguraci směrování. Následující dokument vysvětluje, jak služba Front Door určuje konfiguraci trasy, kterou se má použít při zpracování požadavku.

Struktura konfigurace trasy služby Front Door

Pravidlo směrování služby Front Door se skládá ze dvou hlavních částí, z levé strany a z pravé strany. Front Door odpovídá příchozímu požadavku na levou stranu trasy, zatímco pravá strana definuje, jak se požadavek zpracuje.

Příchozí shoda (levá strana)

Následující vlastnosti určují, jestli příchozí požadavek odpovídá pravidlu směrování (nebo na levé straně):

  • Protokoly HTTP – HTTP nebo HTTPS
  • Doména – například: www.foo.com, *.bar.com
  • Cesty – například: /*, /users/*, /file.gif

Tyto vlastnosti se interně rozbalí, aby každá kombinace protokolu/domény/cesty byla potenciální shodná sada.

Rozhodnutí o směrování (pravá strana)

Rozhodnutí o zpracování požadavku závisí na tom, jestli je pro trasu povolené ukládání do mezipaměti. Pokud odpověď uložená v mezipaměti není dostupná, požadavek se předá příslušnému zdroji.

Porovnávání tras

Tato část se zaměřuje na to, jak služba Front Door odpovídá pravidlu směrování. Základním konceptem je, že služba Front Door se vždy shoduje s nejvýraznějším požadavkem , který se dívá pouze na levou stranu. Front Door se nejprve shoduje podle protokolu, pak domény a poslední cesty.

Párování hostitelů front-endu

Azure Front Door používá k porovnání hostitelů front-endu následující logiku:

  1. Zjistěte, jestli se na hostiteli front-endu nacházejí nějaké trasy s přesnou shodou.
  2. Pokud se neshodují žádné přesné hostitele front-endu, žádost se odmítne a odešle se chyba 400: Chybná žádost se odešle.

Následující tabulky ukazují tři různá pravidla směrování s front-endovým hostitelem a cestami:

Pravidlo směrování Hostitelé front-endu Cesta
A foo.contoso.com /*
T foo.contoso.com /Uživatelé/*
C www.fabrikam.com, foo.adventure-works.com /*/Obrázky/*

Následující tabulka ukazuje odpovídající výsledky pro výše uvedená pravidla směrování:

Příchozí hostitel front-endu Odpovídající pravidla směrování
foo.contoso.com A, B
www.fabrikam.com C
images.fabrikam.com Kód chyby 400 Nesprávný požadavek
foo.adventure-works.com C
contoso.com Kód chyby 400 Nesprávný požadavek
www.adventure-works.com Kód chyby 400 Nesprávný požadavek
www.northwindtraders.com Kód chyby 400 Nesprávný požadavek

Porovnávání cest

Jakmile služba Front Door určí konkrétního hostitele front-endu a filtry pro možná pravidla směrování, služba Front Door pak vybere pravidla směrování na základě cesty požadavku. Podobná logika hostitelů front-endu se používá ke shodě s cestou požadavku:

  1. Určete, jestli existují nějaká pravidla směrování s přesnou shodou s cestou požadavku.
  2. Pokud neexistuje přesná odpovídající cesta, služba Front Door hledá pravidlo směrování se zástupnými výjimkou, která odpovídá.
  3. Pokud nejsou nalezena žádná pravidla směrování s odpovídající cestou, požadavek se odmítne a 400: Chyba Chybný požadavek se nastaví.

Poznámka:

Zástupný znak * je platný jenom pro cesty, které nemají žádné další znaky. Kromě toho musí před zástupným znakem * předcházet lomítko /. Cesty bez zástupných znaků se považují za cesty přesné shody. Cesta, která končí lomítkem / , je také přesná cesta shody. Ujistěte se, že cesty dodržují tato pravidla, abyste se vyhnuli chybám.

Poznámka:

  • Všechny cesty bez zástupných znaků se považují za cesty přesné shody. Pokud cesta končí na , /považuje se to za přesnou shodu.
  • Vzory, které odpovídají cestám, nerozlišují malá a velká písmena, což znamená, že cesty s různými písmeny se považují za duplicitní. Například máte stejného hostitele, který používá stejný protokol s cestami /FOO a /foo. Tyto cesty jsou považovány za duplicity, které nejsou povoleny ve vzorech odpovídající nastavení.

Následující tabulka obsahuje seznam pravidel směrování, kombinace hostitelů front-endu a cest:

Pravidlo směrování Hostitel front-endu Cesta
A www.contoso.com /
T www.contoso.com /*
C www.contoso.com /Ab
D www.contoso.com /Abc
E www.contoso.com /Abc/
F www.contoso.com /Abc/*
G www.contoso.com /abc/def
H www.contoso.com /Cestu/

Následující tabulka ukazuje, jaké pravidlo směrování se příchozí požadavek při příchodu na hraniční zařízení Front Door shoduje:

Příchozí požadavek Spárovaná trasa
www.contoso.com/ A
www.contoso.com/a T
www.contoso.com/ab C
www.contoso.com/abc D
www.contoso.com/abzzz T
www.contoso.com/abc/ E
www.contoso.com/abc/d F
www.contoso.com/abc/def G
www.contoso.com/abc/defzzz F
www.contoso.com/abc/def/ghi F
www.contoso.com/path T
www.contoso.com/path/ H
www.contoso.com/path/zzz T

Upozorňující

Pokud neexistují žádná pravidla směrování pro přesně odpovídajícího hostitele front-endu s cestou trasy catch-all (/*), nebude se shodovat s žádným pravidlem směrování.

Příklad konfigurace:

Postup Hostitelský počítač Cesta
A profile.contoso.com /Rozhraní api/*

Odpovídající tabulka:

Příchozí požadavek Spárovaná trasa
profile.domain.com/other Nezaokrouhlovat. Kód chyby 400 Nesprávný požadavek

Rozhodnutí o směrování

Jakmile služba Front Door odpovídá jednomu pravidlu směrování, musí zvolit, jak požadavek zpracovat. Pokud má vaše služba Azure Front Door k dispozici odpověď uloženou v mezipaměti pro odpovídající pravidlo směrování, žádost se klientovi vrátí.

Azure Front Door nakonec vyhodnotí, jestli máte nastavené pravidlo nakonfigurované pro odpovídající pravidlo směrování. Pokud se nenadefinuje žádná sada pravidel, požadavek se předá skupině původu bez jakýchkoli změn. V opačném případě se sady pravidel zpracovávají v nakonfigurované objednávce. Sady pravidel můžou trasu přepsat vynucením provozu do konkrétní skupiny původu.

Pokud služba Front Door (classic) nemá odpověď uloženou v mezipaměti pro odpovídající pravidlo směrování, vyhodnotí, jestli je přepsání adresy URL nakonfigurované pro odpovídající pravidlo směrování. Pokud neexistuje žádná vlastní cesta přesměrování, požadavek se přepošlí do příslušného back-endu v nakonfigurovaném back-endovém fondu beze změn. Pokud byla definována vlastní cesta přesměrování, cesta požadavku se aktualizuje tak, jak je definována ve vlastní cestě přesměrování, a pak se přesměruje do back-endu.

Další kroky