Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met routering op basis van URL-pad kunt u verkeer routeren naar back-endserverpools op basis van URL-paden van de aanvraag.
Een van de scenario's is het routeren van aanvragen voor verschillende inhoudstypen naar verschillende back-endserverpools.
In het volgende voorbeeld biedt Application Gateway verkeer voor contoso.com van drie back-endserverpools, bijvoorbeeld: VideoServerPool, ImageServerPool en DefaultServerPool.
Aanvragen voor http://contoso.com/video/* worden doorgestuurd naar VideoServerPool, en http://contoso.com/images/* worden doorgestuurd naar ImageServerPool. Als geen van de padpatronen overeenkomen, wordt DefaultServerPool geselecteerd.
Notitie
Wanneer de aanvraag wordt gerouteerd, wordt de volledige URL naar de back-end pool verzonden. Als de aangevraagde resources zich op een ander pad bevinden (bijvoorbeeld als een aanvraag naar http://contoso.com/video/* vereist dat video's worden geleverd vanuit de hoofdmap van de site achter de VideoServerPool), moet u ook een URL-herschrijfregel configureren of het back-endpad in uw back-endinstellingen overschrijven.
Belangrijk
Voor zowel de v1- als v2-SKU's worden regels verwerkt in de volgorde waarin ze worden vermeld in de portal. De aanbevolen procedure voor het opstellen van padregels is om het minst specifieke pad (de paden met jokertekens) achteraan te hebben. Als jokertekens bovenaan in de lijst staan, krijgen ze prioriteit, zelfs als er een specifiekere overeenkomst is in latere padregels.
Als een basislistener als eerste wordt weergegeven en overeenkomt met een inkomende aanvraag, wordt deze door die listener verwerkt. Het wordt echter ten zeerste aanbevolen eerst listeners voor meerdere sites te configureren voordat u een basislistener configureert. Dit zorgt ervoor dat verkeer naar de juiste back-end wordt geleid.
Configuratie-element UrlPathMap
Het element urlPathMap wordt gebruikt om Path patronen op te geven voor de toewijzingen van backend serverpools. Het volgende codevoorbeeld is het fragment van het urlPathMap-element van het sjabloonbestand.
"urlPathMaps": [{
"name": "{urlpathMapName}",
"id": "/subscriptions/{subscriptionId}/../microsoft.network/applicationGateways/{gatewayName}/urlPathMaps/{urlpathMapName}",
"properties": {
"defaultBackendAddressPool": {
"id": "/subscriptions/ {subscriptionId}/../microsoft.network/applicationGateways/{gatewayName}/backendAddressPools/{poolName1}"
},
"defaultBackendHttpSettings": {
"id": "/subscriptions/{subscriptionId}/../microsoft.network/applicationGateways/{gatewayName}/backendHttpSettingsCollection/{settingname1}"
},
"pathRules": [{
"name": "{pathRuleName}",
"properties": {
"paths": [
"{pathPattern}"
],
"backendAddressPool": {
"id": "/subscriptions/{subscriptionId}/../microsoft.network/applicationGateways/{gatewayName}/backendAddressPools/{poolName2}"
},
"backendHttpsettings": {
"id": "/subscriptions/{subscriptionId}/../microsoft.network/applicationGateways/{gatewayName}/backendHttpSettingsCollection/{settingName2}"
}
}
}]
}
}]
PathPattern
PathPattern is een lijst met padpatronen die overeenkomen. Elk pad moet beginnen met / en kan * gebruiken als jokerteken. De tekenreeks die naar de padmatcher wordt ingevoerd, bevat geen tekst na de eerste ?
of #
, en deze tekens zijn hier niet toegestaan. Anders zijn alle tekens die zijn toegestaan in een URL, toegestaan in PathPattern.
Padregels zijn niet hoofdlettergevoelig.
Padpatroon | Wordt ondersteund? |
---|---|
/images/* |
ja |
/images* |
ja |
/images/*.jpg |
nee |
/*.jpg |
nee |
/Repos/*/Comments/* |
nee |
/CurrentUser/Comments/* |
ja |
Padregels worden in volgorde verwerkt op basis van hoe ze in het portaal worden vermeld. Het minst specifieke pad (met jokertekens) moet zich aan het einde van de lijst bevinden, zodat het laatste wordt verwerkt. Als er wildcardregels boven aan de lijst staan, hebben ze prioriteit en worden ze eerst verwerkt. Zie de volgende voorbeeldscenario's.
Voorbeelden
Op pad gebaseerde regelverwerking wanneer jokerteken (*) wordt gebruikt:
Voorbeeld 1:
/master-dev* to contoso.com
/master-dev/api-core/ to fabrikam.com
/master-dev/* to microsoft.com
Omdat het jokertekenpad /master-dev*
boven meer gedetailleerde paden aanwezig is, worden alle clientaanvragen die bevatten /master-dev
doorgestuurd naar contoso.com, inclusief de specifieke /master-dev/api-core/
. Om ervoor te zorgen dat klantverzoeken naar de juiste paden worden gerouteerd, is het essentieel om de gedetailleerde paden boven de wildcard-paden te plaatsen.
Voorbeeld 2:
/ (default) to contoso.com
/master-dev/api-core/ to fabrikam.com
/master-dev/api to bing.com
/master-dev/* to microsoft.com
Alle clientaanvragen met het padpatroon /master-dev/*
worden verwerkt in de volgorde zoals vermeld. Als er geen overeenkomst binnen de route-regels is, wordt de aanvraag doorgestuurd naar de standaardbestemming.
Zie de Resource Manager-sjabloon voor meer informatie met behulp van routering op basis van URL's.
PadGebaseerdeRouting-regel
RequestRoutingRule van type PathBasedRouting wordt gebruikt voor het verbinden van een listener met een urlPathMap. Alle aanvragen die zijn ontvangen voor deze listener, worden gerouteerd op basis van een beleid dat is opgegeven in urlPathMap. Fragment van PathBasedRouting-regel:
"requestRoutingRules": [
{
"name": "{ruleName}",
"id": "/subscriptions/{subscriptionId}/../microsoft.network/applicationGateways/{gatewayName}/requestRoutingRules/{ruleName}",
"properties": {
"ruleType": "PathBasedRouting",
"httpListener": {
"id": "/subscriptions/{subscriptionId}/../microsoft.network/applicationGateways/{gatewayName}/httpListeners/<listenerName>"
},
"urlPathMap": {
"id": "/subscriptions/{subscriptionId}/../microsoft.network/applicationGateways/{gatewayName}/urlPathMaps/{urlpathMapName}"
}
}
}
]
Volgende stappen
Nadat u meer hebt geleerd over routering van op URL gebaseerde inhoud, gaat u naar Een toepassingsgateway maken met behulp van URL-gebaseerde routering om een toepassingsgateway te maken met URL-routeringsregels.