So you get the redirect, but the subsequent request is reset?
I'd guess there are no live members in the default pool.
You can add a condition to test that & send an HTTP redirect:
when HTTP_REQUEST {
if { [active_nodes poolA] < 1 }{
log local0. "No nodes available for poolA. Redirecting..."
HTTP::redirect http://fallbackhost/sorry.html
} elseif { [HTTP::uri] equals "/" } {
HTTP::redirect "http:///logon/logon.html"
}
}
You could add an explicit else at the end calling the default pool for all other requests, but it should be falling through with the logic you have.
Adding an additional log line to expose the URI requested might reveal something as well.
HTH
/deb