Forum Discussion
7 Replies
- Samir_Jha_52506Noctilucent
use this irule.
when HTTP_REQUEST { if { [string tolower [HTTP::uri]] starts_with "/uri1*" } { pool pool_X } }
- Samir_Jha_52506NoctilucentHope it will work.. try this. when HTTP_REQUEST { if { [string tolower [HTTP::host]] equals "host1.internet.com" and [string tolower [HTTP::host]] starts_with "/uri*" } { pool pool_x } }
- Vadim_96730Nimbostratus
Hi, Samir. This appers to be a straight URI redirect to a pool. I am looking to also match the source of the request to a specific host, host1.internet.com. Thank you for your help. Vadim.
- arpydaysNimbostratus
try this...
when HTTP_REQUEST { if { [string tolower [HTTP::host]] equals "host1.internet.com" } { if { [string tolower [HTTP::uri]] starts_with "/uri1" } { pool pool_X } } }
- Stanislas_Piro2Cumulonimbus
Hi,
if you are using version 11.4 or above, you can configure Local traffic policy instead of irule.
-
Policy
- require http
- controls forwarding
-
Rule 1 :
-
Condition
- http-host host equals host1.internet.com
- http-uri path starts_with /uri1
- Action forward pool Pool_X
-
Condition
-
Policy
- Vadim_96730Nimbostratus
Arpydays, Entered your rule, and it passed F5 mustard. Will test in the morning but certainly makes sense and should work. Thank you very much.
Stanislas, I am running a BigIP version 10.2.4. Thank you as well.
Vadim.
- Stanislas_Piro2Cumulonimbus
Hi,
in the irule, create a else statement with default pool assignment. if there is no default pool assignment, and the user browse first to /uri1 then to /uri2 in the same TCP connection, the second request will be assigned to the previous pool.
When CLIENT_ACCEPTED { set default_pool [LB::server pool] } when HTTP_REQUEST { if { [string tolower [HTTP::host]] equals "host1.internet.com" } { if { [string tolower [HTTP::uri]] starts_with "/uri1" } { pool pool_X } else { pool $default_pool} } }