Jak se požadavky shodují s konfigurací trasy

Trasa ve službě Azure Front Door určuje, jak je provoz zpracováván při příchodu příchozího požadavku na hraniční bod služby Azure Front Door. Nastavení trasy vytvoří přidružení mezi doménou a skupinou původu. Pomocí pokročilých funkcí, jako jsou vzory pro porovnávání a sady pravidel, můžete mít podrobnou kontrolu nad provozem do zadních prostředků.

Poznámka:

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

Důležité

Azure Front Door (Classic) bude vyřazena 31. března 2027. Protože služba končí, již nepodporuje vytváření profilů, nové doménové onboardingy ani spravované certifikáty. Pokud se chcete vyhnout přerušení služeb, migrovat na Azure Front Door Standard nebo Premium. Další informace najdete v tématu Azure Front Door (klasické) vyřazení.

Když požadavek dorazí na hraniční uzel Azure Front Door (Classic), jedním z prvních kroků je určit, jak směrovat odpovídající požadavek do backendového prostředku a následně provést definovanou akci ve směrovací konfiguraci. Tento 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í: "levá strana" a "pravá strana". Front Door odpovídá příchozímu požadavku na levou stranu trasy, zatímco pravá strana definuje způsob zpracování požadavku.

Příchozí zápas (levá strana)

Následující vlastnosti určují, jestli příchozí požadavek odpovídá pravidlu směrování (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ě rozšiřují tak, aby každá kombinace protokolu/domény/cesty představovala potenciální shodnou skupinu.

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 vysvětluje, jak služba Front Door odpovídá požadavkům na pravidla směrování. Základním principem je, že služba Front Door se vždy shoduje s nejkonkrétnějším požadavkem na základě vyhodnocení vlastností vlevo: protokol, doména a cesta v tomto pořadí.

Párování hostování na straně uživatelského rozhraní

Azure Front Door používá následující postup pro přiřazení hostitelů front-endu:

  1. Zkontrolujte trasy pro přesnou shodu na hostu frontendu.
  2. Pokud nenajde přesnou shodu, žádost odmítne s chybou 404: Chybný požadavek.

Následující tabulky ukazují tři různá pravidla směrování s jejich frontendovými hostiteli a cestami:

Pravidlo směrování Hostitelé frontendu Cesta
A foo.contoso.com /*
T foo.contoso.com /uživatelé/*
C www.fabrikam.com, foo.adventure-works.com /*/obrazy/*

Následující tabulka ukazuje odpovídající výsledky pro pravidla směrování v předchozí tabulce:

Příchozí hostitel front-endu Shodná pravidla směrování
foo.contoso.com A, B
www.fabrikam.com C
images.fabrikam.com Chyba 404: Chybný požadavek
foo.adventure-works.com C
contoso.com Chyba 404: Chybný požadavek
www.adventure-works.com Chyba 404: Chybný požadavek
www.northwindtraders.com Chyba 404: Chybný požadavek

Porovnávání cest

Jakmile Azure Front Door určí konkrétního hostitele front-endu a vyfiltruje možná pravidla směrování, vybere pravidla směrování na základě cesty požadavku. Služba používá následující logiku:

  1. Zkontrolujte pravidla směrování s přesnou shodou s cestou požadavku.
  2. Pokud nenajde přesnou shodu, vyhledejte pravidlo směrování s cestou se zástupným znakem, která odpovídá.
  3. Pokud nenajde odpovídající cestu, zamítněte požadavek s chybou 404: Chybný požadavek.

Poznámka:

Zástupný znak * je platný pouze pro cesty, které za ním 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 s přesnou shodou. Cesta, která končí lomítkem /, je také cesta pro přesnou shodu. Ujistěte se, že vaše cesty se řídí těmito pravidly, abyste předešli chybám.

Poznámka:

  • Cesty bez zástupných znaků se považují za cesty s přesnou shodou. Cesta končící na / je také přesná shoda.
  • Vzory cest nerozlišují malá a velká písmena. Například /FOO a /foo jsou považovány za duplicity a nejsou povoleny v nastavení vzorů pro porovnání.

Následující tabulka uvádí pravidla směrování s jejich kombinacemi hostitelů a cest front-endu:

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

Následující tabulka ukazuje, které pravidlo směrování odpovídá příchozímu požadavku na okraji služby Azure Front Door:

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

Upozornění

Pokud neexistují žádná pravidla směrování pro přesného hostitele front-endu bez cesty trasy catch-all (/*), nebude se shodovat žádné pravidlo směrování.

Příklad konfigurace:

Trasa Hostitel Cesta
A profile.contoso.com /api/*

Porovnávací tabulka

Příchozí požadavek Spárovaná trasa
profile.domain.com/other Žádný. Chyba 404: Chybný požadavek

Rozhodnutí o směrování

Jakmile Azure Front Door odpovídá pravidlu směrování, rozhodne se, jak požadavek zpracovat. Pokud je odpověď uložená v mezipaměti dostupná, odešle tuto odpověď zpět klientovi.

Pokud nakonfigurujete rule set pro odpovídající pravidlo směrování, Azure Front Door ho zpracuje v pořadí. Sady pravidel můžou trasu nahradit směrováním provozu do konkrétní skupiny zdrojů. Pokud sadu pravidel nedefinujete, Azure Front Door požadavek předá skupině původu beze změn.

Pokud Azure Front Door (Classic) nemá odpověď uloženou v mezipaměti, zkontroluje konfiguraci přepsání adresy URL. Pokud nedefinujete vlastní cestu přesměrování, Azure Front Door požadavek předá příslušnému back-endu v nakonfigurovaném back-endovém fondu. Pokud definujete vlastní cestu předávání, Azure Front Door odpovídajícím způsobem aktualizuje cestu požadavku a pak ji předá do back-endu.

Další kroky