Delen via


Hoe aanvragen worden gekoppeld aan een routeconfiguratie

Een route in Azure Front Door definieert hoe verkeer wordt verwerkt wanneer de binnenkomende aanvraag binnenkomt aan de Rand van Azure Front Door. Via de route-instellingen wordt een koppeling gedefinieerd tussen een domein en een oorsprongsgroep. Door geavanceerde functies zoals Pattern to Match en Rule sets te gebruiken, kunt u gedetailleerde controle hebben over verkeer naar uw back-endresources.

Notitie

Wanneer u de Front Door-regelsets gebruikt, kunt u een regel configureren om de oorspronkelijke groep voor een aanvraag te overschrijven. De oorspronkelijke groep die door de regelset is ingesteld, overschrijft het routeringsproces dat in dit artikel wordt beschreven.

Belangrijk

Azure Front Door (klassiek) wordt op 31 maart 2027 buiten gebruik gesteld. Om serviceonderbrekingen te voorkomen, is het belangrijk dat u uw Azure Front Door-profielen (klassiek) tegen maart 2027 migreert naar de Azure Front Door Standard- of Premium-laag. Zie De buitengebruikstelling van Azure Front Door (klassiek) voor meer informatie.

Wanneer een aanvraag binnenkomt bij Azure Front Door (klassiek), is een van de eerste dingen die Front Door doet bepalen hoe de overeenkomende aanvraag naar een back-endresource moet worden gerouteerd en vervolgens een gedefinieerde actie moet worden uitgevoerd in de routeringsconfiguratie. In het volgende document wordt uitgelegd hoe Front Door bepaalt welke routeconfiguratie moet worden gebruikt bij het verwerken van een aanvraag.

Structuur van een Front Door-routeconfiguratie

Een Front Door-routeringsregel bestaat uit twee belangrijke onderdelen, de 'linkerkant' en de 'rechterkant'. Front Door komt overeen met de binnenkomende aanvraag aan de linkerkant van de route, terwijl aan de rechterkant wordt gedefinieerd hoe de aanvraag wordt verwerkt.

Binnenkomende overeenkomst (linkerzijde)

De volgende eigenschappen bepalen of de binnenkomende aanvraag overeenkomt met de routeringsregel (of aan de linkerkant):

  • HTTP-protocollen - HTTP of HTTPS
  • Domein - bijvoorbeeld: www.foo.com, *.bar.com
  • Paden - bijvoorbeeld: /*, /users/*, /file.gif

Deze eigenschappen worden intern uitgevouwen, zodat elke combinatie van Protocol/Domein/Pad een mogelijke overeenkomstset is.

Routeringsbeslissing (rechts)

De beslissing over het verwerken van de aanvraag is afhankelijk van of caching is ingeschakeld voor de route. Als een antwoord in de cache niet beschikbaar is, wordt de aanvraag doorgestuurd naar de juiste oorsprong.

Routekoppeling

In deze sectie wordt uitgelegd hoe Front Door overeenkomt met een routeringsregel. Het basisconcept is dat Front Door altijd overeenkomt met de meest specifieke aanvraag die alleen naar de 'linkerkant' kijkt. Front Door komt eerst overeen op basis van protocol, vervolgens domein en laatste pad.

Overeenkomende front-endhost

Azure Front Door gebruikt de volgende logica om front-endhosts te vinden:

  1. Bepaal of er routes zijn met een exacte overeenkomst op de front-endhost.
  2. Als er geen exacte front-endhosts overeenkomen, wordt de aanvraag geweigerd en wordt een 400: Fout met ongeldige aanvraag verzonden.

De volgende tabellen bevatten drie verschillende routeringsregels met front-endhost en paden:

Routeringsregel Front-endhosts Pad
A foo.contoso.com /*
B foo.contoso.com /Gebruikers/*
E www.fabrikam.com, foo.adventure-works.com /*/Afbeeldingen/*

In de volgende tabel ziet u de overeenkomende resultaten voor de bovenstaande routeringsregels:

Binnenkomende front-endhost Overeenkomende routeringsregel(en)
foo.contoso.com A, B
www.fabrikam.com E
images.fabrikam.com Fout 400: Ongeldige aanvraag
foo.adventure-works.com E
contoso.com Fout 400: Ongeldige aanvraag
www.adventure-works.com Fout 400: Ongeldige aanvraag
www.northwindtraders.com Fout 400: Ongeldige aanvraag

Padkoppeling

Nadat Front Door de specifieke front-endhost en filters voor mogelijke routeringsregels heeft bepaald, selecteert Front Door vervolgens de routeringsregels op basis van het aanvraagpad. Een vergelijkbare logica voor front-endhosts wordt gebruikt om het aanvraagpad te vinden:

  1. Bepaal of er routeringsregels zijn met een exacte overeenkomst met het aanvraagpad.
  2. Als er geen exact overeenkomend pad is, zoekt Front Door naar een routeringsregel met een jokertekenpad dat overeenkomt.
  3. Als er geen routeringsregels zijn gevonden met een overeenkomend pad, wordt de aanvraag geweigerd en wordt een 400: Fout met ongeldige aanvraag wordt verzonden.

Notitie

Het jokerteken * is alleen geldig voor paden die erna geen andere tekens hebben. Daarnaast moet het jokerteken * worden voorafgegaan door een slash /. Paden zonder jokertekens worden beschouwd als exact-overeenkomende paden. Een pad dat eindigt op een slash / , is ook een exact-match-pad. Zorg ervoor dat uw paden voldoen aan deze regels om fouten te voorkomen.

Notitie

  • Paden zonder jokertekens worden beschouwd als exact-overeenkomende paden. Als een pad eindigt op een /, wordt dit beschouwd als een exacte overeenkomst.
  • Patronen die overeenkomen met paden zijn niet hoofdlettergevoelig, wat betekent dat paden met verschillende behuizingen worden behandeld als duplicaten. U hebt bijvoorbeeld dezelfde host met hetzelfde protocol met paden /FOO en /foo. Deze paden worden beschouwd als duplicaten die niet zijn toegestaan in de patronen om overeen te komen met de instelling.

De volgende tabel is een lijst met routeringsregels, combinatie van front-endhost en pad:

Routeringsregel Frontend-host Pad
A www.contoso.com /
B www.contoso.com /*
E 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 /Pad/

In de volgende tabel ziet u aan welke routeringsregel de binnenkomende aanvraag wordt vergeleken bij aankomst aan de Rand van Front Door:

Binnenkomende aanvraag Overeenkomende route
www.contoso.com/ A
www.contoso.com/a B
www.contoso.com/ab E
www.contoso.com/abc D
www.contoso.com/abzzz B
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 B
www.contoso.com/path/ H
www.contoso.com/path/zzz B

Waarschuwing

Als er geen routeringsregels zijn voor een exact-match front-endhost met een catch-all route Path (/*), is er geen overeenkomst met een routeringsregel.

Voorbeeldconfiguratie:

Route Host Pad
A profile.contoso.com /Api/*

Overeenkomende tabel:

Binnenkomende aanvraag Overeenkomende route
profile.domain.com/other Geen. Fout 400: Ongeldige aanvraag

Routeringsbeslissing

Zodra Front Door overeenkomt met één routeringsregel, moet deze kiezen hoe de aanvraag moet worden verwerkt. Als uw Azure Front Door een antwoord in de cache beschikbaar heeft voor de overeenkomende routeringsregel, wordt de aanvraag teruggestuurd naar de client.

Ten slotte evalueert Azure Front Door of u een regelset hebt geconfigureerd voor de overeenkomende routeringsregel. Als er geen regelset wordt gedefinieerd, wordt de aanvraag zonder wijzigingen doorgestuurd naar de oorspronkelijke groep. Anders worden de regelsets verwerkt in de geconfigureerde volgorde. Regelsets kunnen een route overschrijven door verkeer naar een specifieke oorspronkelijke groep af te dwingen.

Als Front Door (klassiek) geen antwoord in de cache heeft voor de overeenkomende routeringsregel, wordt geëvalueerd of url-herschrijven is geconfigureerd voor de overeenkomende routeringsregel. Als er geen aangepast doorstuurpad is, wordt de aanvraag zonder wijzigingen doorgestuurd naar de juiste back-end in de geconfigureerde back-endpool. Als er een aangepast doorstuurpad is gedefinieerd, wordt het aanvraagpad bijgewerkt zoals gedefinieerd in aangepast doorstuurpad en wordt het vervolgens doorgestuurd naar de back-end.

Volgende stappen