Hi
I had time to test...
$default_pool is always pool_ni.cm.es_80 which is the default pool of the virtual server. So, I should use the event CLIENT_ACCEPTED to be sure that iRule manages the correct pool it a great idea.
I'm going to set up on the production enviroment this iRule:
rule Sorry-Redirect {
when CLIENT_ACCEPTED {
set default_pool [LB::server pool]
}
when LB_FAILED {
if { [active_members [LB::server pool]] < 1 } {
HTTP::fallback "http://sorry-[HTTP::header host]"
}
}
I've tried on the pre-production enviroment but I need load to be sure that works right.