Forum Discussion
5 Replies
- paulpatriot_129Nimbostratus
Here is the irule we applied: when HTTP_REQUEST { if { ( [HTTP::uri] starts_with "/test1/" ) or ( [HTTP::uri] starts_with "/tester2/") or ( [HTTP::uri] starts_with "/tester3/") } { use pool test_pool } }
Everything else should default to the defined default GUI Pool
- natheCirrocumulus
Do you have a oneconnect profile assigned to the VIP? The virtual server works on a per TCP request. By adding oneconnect it changes to a per http one. This will help pool selection in iRules where different URIs are presented in one TCP connection.
See Using an iRule to load balance HTTP requests to multiple pools
- paulpatriot_129Nimbostratus
We aren't running Oneconnect are you suggesting we should be running this on all VIP's utilizing irules?
- natheCirrocumulus
It will help with your specific requirement. If you set the mask to 255.255.255.255 then you should be fine.
Hi Paul,
you may turn on OneConnect on your Virtual Server to enable per HTTP-Request balancings and automatic failbacks to the default pool after each single request (as already explained by Nathan).
If OneConnect is not suitable for your environment/application, then you could specify the default_pool within an
clause...} else {
when HTTP_REQUEST { if { ( [HTTP::uri] starts_with "/test1/" ) or ( [HTTP::uri] starts_with "/tester2/" ) or ( [HTTP::uri] starts_with "/tester3/" ) } then { pool test_pool } else { pool default_pool } }
Note: For further reading on this topic you may check out K9800 [click me]
Note: If you've already enabled OneConnect and running BIG-IP 11.5.3 HF2, and 12.0.0 through 12.0.0 HF3, them you may be a victim of OneConnect related bug [click me]
Cheers, Kai