Hoe aanvragen worden gekoppeld aan een routeconfiguratie
Een route in Azure Front Door definieert hoe verkeer wordt verwerkt wanneer een binnenkomende aanvraag binnenkomt aan de Rand van Azure Front Door. Met de route-instellingen wordt een koppeling tot stand gebracht tussen een domein en een oorspronkelijke groep. 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 aan de rand van Azure Front Door (klassiek), is een van de eerste stappen om te bepalen hoe de overeenkomende aanvraag naar een back-endresource moet worden gerouteerd en vervolgens een gedefinieerde actie moet worden uitgevoerd in de routeringsconfiguratie. In dit 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 (aan de linkerkant):
- HTTP-protocollen - HTTP of HTTPS
- Domein - bijvoorbeeld: www.foo.com, *.bar.com
- Paden - bijvoorbeeld: /*, /users/*, /file.gif
Deze eigenschappen worden intern uitgebreid, 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 aanvragen aan routeringsregels overeenkomt. Het basisprincipe is dat Front Door altijd overeenkomt met de meest specifieke aanvraag door de eigenschappen aan de linkerkant te evalueren: protocol, domein en pad, in die volgorde.
Overeenkomende front-endhost
Azure Front Door gebruikt de volgende stappen om front-endhosts te vinden:
- Controleer op routes met een exacte overeenkomst op de front-endhost.
- Als er geen exacte overeenkomst wordt gevonden, wordt de aanvraag geweigerd met een fout 404: Ongeldige aanvraag.
De volgende tabellen illustreren drie verschillende routeringsregels met hun front-endhosts en -paden:
Routeringsregel | Front-endhosts | Pad |
---|---|---|
A | foo.contoso.com | /* |
B | foo.contoso.com | /Gebruikers/* |
E | www.fabrikam.com, foo.adventure-works.com | /*/beelden/* |
In de volgende tabel ziet u de overeenkomende resultaten voor de routeringsregels in de vorige tabel:
Binnenkomende front-endhost | Overeenkomende routeringsregels |
---|---|
foo.contoso.com | A, B |
www.fabrikam.com | E |
images.fabrikam.com | Fout 404: Ongeldige aanvraag |
foo.adventure-works.com | E |
contoso.com | Fout 404: Ongeldige aanvraag |
www.adventure-works.com | Fout 404: Ongeldige aanvraag |
www.northwindtraders.com | Fout 404: Ongeldige aanvraag |
Padkoppeling
Nadat Azure Front Door de specifieke front-endhost heeft bepaald en mogelijke routeringsregels heeft gefilterd, worden de routeringsregels geselecteerd op basis van het aanvraagpad. De volgende logica wordt gebruikt:
- Controleer op routeringsregels met een exacte overeenkomst met het aanvraagpad.
- Als er geen exacte overeenkomst wordt gevonden, zoekt u naar een routeringsregel met een jokertekenpad dat overeenkomt.
- Als er geen overeenkomend pad wordt gevonden, wordt de aanvraag geweigerd met een fout 404: Ongeldige aanvraag.
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 paden die exact overeenkomen. Een pad dat eindigt op een slash /
, is ook een exact-match-pad. Zorg ervoor dat uw paden deze regels volgen om fouten te voorkomen.
Notitie
- Paden zonder jokertekens worden beschouwd als paden die exact overeenkomen. Een pad dat eindigt op een
/
, is ook een exacte overeenkomst. - Padpatronen zijn niet hoofdlettergevoelig. En
/foo
worden bijvoorbeeld/FOO
behandeld als duplicaten en zijn niet toegestaan in de instelling Patronen om overeen te komen.
De volgende tabel bevat routeringsregels met de combinaties van de front-endhost en het pad:
Routeringsregel | Frontend-host | Pad |
---|---|---|
A | www.contoso.com | / |
B | www.contoso.com | /* |
E | www.contoso.com | /bloedgroep |
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 welke regel voor doorsturen overeenkomt met een binnenkomende aanvraag aan de rand van Azure 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 zonder een catch-all routepad (/*), wordt er geen routeringsregel vergeleken.
Voorbeeldconfiguratie:
Route | Host | Pad |
---|---|---|
A | profile.contoso.com | /Api/* |
Overeenkomende tabel:
Binnenkomende aanvraag | Overeenkomende route |
---|---|
profile.domain.com/other | Geen. Fout 404: Ongeldige aanvraag |
Routeringsbeslissing
Zodra Azure Front Door overeenkomt met een routeringsregel, wordt bepaald hoe de aanvraag moet worden verwerkt. Als er een antwoord in de cache beschikbaar is, wordt deze weer aan de client geleverd.
Als een regelset is geconfigureerd voor de overeenkomende routeringsregel, wordt deze op volgorde verwerkt. Regelsets kunnen een route overschrijven door verkeer naar een specifieke oorspronkelijke groep te leiden. Als er geen regelset is gedefinieerd, wordt de aanvraag zonder wijzigingen doorgestuurd naar de oorspronkelijke groep.
Als Azure Front Door (klassiek) geen antwoord in de cache heeft, wordt gecontroleerd op een configuratie voor het herschrijven van url's. Als er geen aangepast doorstuurpad is gedefinieerd, wordt de aanvraag doorgestuurd naar de juiste back-end in de geconfigureerde back-endpool. Als er een aangepast doorstuurpad is gedefinieerd, wordt het aanvraagpad dienovereenkomstig bijgewerkt en vervolgens doorgestuurd naar de back-end.
Volgende stappen
- Maak een Azure Front Door.
- Meer informatie over de Routeringsarchitectuur van Azure Front Door.
- Maak een Azure Front Door (klassiek).
- Meer informatie over de Routeringsarchitectuur van Azure Front Door.