Forum Discussion
Wes_98712
Mar 09, 2007Nimbostratus
Have you looked at inspecting the return response from the server?
Something as follows may help out:
when HTTP_RESPONSE {
if { [HTTP::status] ends_with "404" } {
LB::reselect pool
}
Course you could also setup a datagroup with the HTTP codes that you want to base your reselect decision on, what I mean is, anything other than 200 or a select few, you could also do something similar to:
when HTTP_RESPONSE {
if { [HTTP::status] > "300" } {
LB::reselect pool
}
I haven't tested any of this stuff, but with a little trial and error I don't see why it wouldn't work. Best of all you are inspecting the response code from the server and not relying on the interval ECV to mark the node unavailable if it fails (which you should still do, but this comes into place in between those health checks and wait times before the LB marks the node down).
Let me know how it goes.
-wn
}