Forum Discussion
unRuleY_95363
Feb 20, 2006Historic F5 Account
This has puzzled me for a bit, but then I think there might be a couple of mistakes that are just all lined up.
First, I will explain, that in general the bigip does not reset the pool selection back to the default. The pool selection remains with the last pool picked. This is true until the LB action happens. So, even though you have indicated a new pool with the pool command, the "LB::server pool" command may return the last selected pool until the new LB action has taken place. To make things more complicated, this behavior does change when using oneconnect.
That being said, I think the behavior you noticed in edits 1-3 is understood. This made me then look closer at your original rule. I'm thinking there might be some parsing cases that are slipping through.
I've optimized your rule a little and made it a little more direct about what your trying to do. Can you try this and see if it makes a difference.
when HTTP_REQUEST {
set fn [URI::basename [HTTP::uri]]
if { [ matchclass $fn ends_with $::static ] } {
HTTP::header replace "Dbg" "static";
pool "static";
} else {
HTTP::header replace "Dbg" "game-www";
pool "game-www";
}
}
There are some subtle differences to which side you place the class and the variable in matchclass which I've already discussed in this post (Click here😞http://devcentral.f5.com/Default.aspx?tabid=28&view=topic&forumid=5&postid=1235