URL Yolu Tabanlı Yönlendirmeye genel bakış

URL Yolu Tabanlı Yönlendirme, isteğin URL Yollarına göre trafiği arka uç sunucu havuzlarına yönlendirmenizi sağlar.

Senaryolardan biri, farklı içerik türleri için istekleri farklı arka uç sunucu havuzlarına yönlendirmektir.

Aşağıdaki örnekte Application Gateway üç arka uç sunucu havuzundan contoso.com trafiği sunmaktadır: VideoServerPool, ImageServerPool ve DefaultServerPool.

imageURLroute

http://contoso.com/video/* için istekler VideoServerPool’a ve http://contoso.com/images/* için istekler ImageServerPool’a yönlendirilir. Yol desenlerinden hiçbiri eşleşmiyorsa DefaultServerPool seçilir.

Önemli

Hem v1 hem de v2 SKU'ları için kurallar portalda listelendikleri sırayla işlenir. Yol kuralları oluştururken en iyi yöntem, sonunda en az belirli yola (joker karakterlere sahip olanlar) sahip olmaktır. Joker karakterler en üstteyse, sonraki yol kurallarında daha belirgin bir eşleşme olsa bile öncelikleri alır.

Temel dinleyici listede ilk sıradaysa ve gelen bir istekle eşleşiyorsa, o dinleyici tarafından işlenir. Ancak, temel dinleyiciyi yapılandırmadan önce çok siteli dinleyicilerin yapılandırılması kesinlikle önerilir. Bu işlem, trafiğin doğru arka uca yönlendirilmesini güvence altına alır.

UrlPathMap yapılandırma öğesi

urlPathMap öğesi, arka uç sunucu havuzu eşlemelerine yol desenleri belirtmek için kullanılır. Aşağıdaki kod örneği, şablon dosyasındaki urlPathMap öğesinin kod parçacığıdır.

"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, eşleşmesi gereken yol desenlerinin listesidir. Her yol / ile başlamalıdır ve joker karakter olarak * kullanabilir. Yol eşleştiricisine beslenen dize, ilk ? veya #sonrasında herhangi bir metin içermez ve bu karakterlere burada izin verilmez. Aksi takdirde, PathPattern'da URL'de izin verilen tüm karakterlere izin verilir.

Yol kuralları büyük/küçük harfe duyarlı değildir.

Yol deseni Destekleniyor mu?
/images/* evet
/images* evet
/images/*.jpg hayır
/*.jpg hayır
/Repos/*/Comments/* hayır
/CurrentUser/Comments/* evet

Yol kuralları, portalda nasıl listelendiğine bağlı olarak sırayla işlenir. En son işlenebilmesi için en az belirli yol (joker karakterler içeren) listenin sonunda olmalıdır. Joker karakter kuralları listenin en üstünde yer alıyorsa öncelikleri alır ve önce işlenir. Aşağıdaki örnek senaryolara bakın.

Örnekler

Joker karakter (*) kullanıldığında yol tabanlı kural işleme:

Örnek 1:

/master-dev* to contoso.com

/master-dev/api-core/ to fabrikam.com

/master-dev/* to microsoft.com

Joker karakter yolu /master-dev* daha ayrıntılı yolların üzerinde bulunduğundan, içeren /master-dev tüm istemci istekleri, belirli /master-dev/api-core/dahil olmak üzere contoso.com yönlendirilir. İstemci isteklerinin uygun yollara yönlendirildiğinden emin olmak için, ayrıntılı yolların joker karakter yollarının üzerinde olması kritik önem taşır.

Örnek 2:

/ (default) to contoso.com

/master-dev/api-core/ to fabrikam.com

/master-dev/api to bing.com

/master-dev/* to microsoft.com

Yol deseni /master-dev/* olan tüm istemci istekleri, listelenen sırayla işlenir. Yol kurallarında eşleşme yoksa, istek varsayılan hedefe yönlendirilir.

Daha fazla bilgi için bkz . URL tabanlı yönlendirmeyi kullanan Resource Manager şablonu.

PathBasedRouting kuralı

PathBasedRouting türündeki RequestRoutingRule, bir dinleyiciyi urlPathMap’e bağlamak için kullanılır. Bu dinleyici için alınan tüm istekler, urlPathMap’te belirtilen ilkeye göre yönlendirilir. PathBasedRouting kuralının kod parçacığı:

"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}"
    }

}
    }
]

Sonraki adımlar

URL tabanlı içerik yönlendirme hakkında bilgi edindikten sonra, URL yönlendirme kurallarıyla bir uygulama ağ geçidi oluşturmak için URL tabanlı yönlendirme kullanan uygulama ağ geçidi oluşturma bölümüne gidin.