Forum Discussion
AlfaSpider_3544
Nimbostratus
May 04, 2012irule for virtual server to redirect to different pool
Well.....This doesn't work. Any help would be much appreatiated.
when HTTP_REQUEST {
if { [HTTP::uri] contains "mywebsite.com/util" } {
pool my-util-pool
} }
}
7 Replies
- hoolio
Cirrostratus
Hi,
If I help do I get a discount on my utilities? 🙂
Can you try this example which checks the combined host header and path values set to lower case to select the pool? The non-matching requests will use the virtual server's default pool.when CLIENT_ACCEPTED { Save the name of the VS default pool set default_pool [LB::server pool] } when HTTP_REQUEST { switch -glob [string tolower [HTTP::host][HTTP::path]] { "*mywebsite.com/util*" { "*seattle.gov/util*" } { pool spu-util-pool } default { pool $default_pool } } }
Aaron - AlfaSpider_3544
Nimbostratus
Getting error when trying to update.
01070151:3: Rule [spu-util-pool-redirect] error: line 2: [undefined procedure: LB::dmz-lgxdev-pool-http] [LB::dmz-lgxdev-pool-http] line 9: [undefined procedure: default] [default { pool dmz-lgxdev-pool-http }] line 13: [command is not valid in the current scope] [}]
This is what I entered
when CLIENT_ACCEPTED {
set default_pool [LB::dmz-lgxdev-pool-http]
}
when HTTP_REQUEST {
switch -glob [string tolower [HTTP::host][HTTP::path]] {
"*seattle.gov/util*" } {
pool spu-util-pool
}
default {
pool dmz-lgxdev-pool-http
}
}
} - hoolio
Cirrostratus
[LB::server pool] will return the default pool on the virtual server, so you don't need to update the name or hardcode the pool name in the iRule. Just set spu-util-pool to the name of the pool you want to use for the matching requests.
Aaron - AlfaSpider_3544
Nimbostratus
I'm sorry for so many questions....I'm an irule dummy.
Does this look right?
when HTTP_REQUEST {
switch -glob [string tolower [HTTP::host][HTTP::path]] {
"*seattle.gov/util*" } {
pool spu-util-pool
}
} - hoolio
Cirrostratus
No worries. Try exactly this:when CLIENT_ACCEPTED { Save the name of the VS default pool set default_pool [LB::server pool] } when HTTP_REQUEST { switch -glob "[string tolower [HTTP::host][HTTP::path]]" { "*seattle.gov/util*" { pool spu-util-pool } default { pool $default_pool } } }
Aaron - AlfaSpider_3544
Nimbostratus
I am so close..................I only get one error when I try to update.
01070151:3: Rule [spu-util-pool-redirect] error: line 11: [undefined procedure: default_pool] [default_pool ]
I have tried many [ and { but nothing seems to be good enough. - hoolio
Cirrostratus
Sorry, I had a typo in the iRule above. I edited the post to fix it.
Aaron
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
