Forum Discussion
Chris_Broomes
Altostratus
Nov 21, 2013Multiple pool and uri selections
I have a VIP that I am trying to do a couple of things with.
1. For HTTP traffic that meets a certain criteria I need to redirect my clients to different pools
For other HTTP traffic I need to...
Kevin_Stewart
Employee
Nov 21, 2013You could also use a switch:
when HTTP_REQUEST {
switch -glob [string tolower [HTTP::uri]] {
"/dam-ws*" {
pool abc.xyz_8102
HTTP::uri "/dam-ws$1"
}
"/artesiavideo*" {
pool abc.xyz_8554
HTTP::uri "/ArtesiaVideo$1"
}
"/teams/metadataeditor*" {
pool abc.xyz_11090
HTTP::uri "/teams/MetadataEditor.do$1"
}
"/mac/plain/recentlyupdatedcompaigns*" {
pool abc.xyz_8088
HTTP::uri "/mac/plain/recentlyUpdatedCompaigns$1"
}
"/media-portal/displayLink.action*" {
HTTP::uri "/mac/mp/asset/viewSearchBasket.htm$1"
}
"/media-portal/download*" {
HTTP::uri "/mac/mp/download/a.htm$1"
}
"/media-portal/displayAsset.action*" {
HTTP::uri "/mac/mp/download/asset/master.htm$1"
}
}
}
Or you could use a data group. Something like this:
when HTTP_REQUEST {
if { [class match [string tolower [HTTP::uri]] starts_with uri_dg] } {
set path_pool [split [class match -value [string tolower [HTTP::uri]] starts_with uri_dg] ","]
HTTP::uri [lindex $path_pool 0]
if { [llength $path_pool] > 1 } {
pool [lindex $path_pool 1]
}
}
}
where uri_dg is a string-based data group that concatenates the URI and pool. Example:
/dam-ws := /dam-ws$1,abc.xyz_8102
/artesiavideo := /ArtesiaVideo$1,abc.xyz_8554
/teams/metadataeditor := /teams/MetadataEditor.do$1,abc.xyz_11090
/mac/plain/recentlyupdatedcompaigns := /mac/plain/recentlyUpdatedCompaigns$1,abc.xyz_8088
/media-portal/displayLink.action := /mac/mp/asset/viewSearchBasket.htm$1
/media-portal/download := /mac/mp/download/a.htm$1
/media-portal/displayAsset.action := /mac/mp/download/asset/master.htm$1
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects