So i took Stefan's sugestion to add the uri condition to the if statement int he rsponse event. So the iruel now looks like this:
when HTTP_REQUEST {
switch -glob $header_uri {
/path1* {
pool pool1
}
/path2* {
pool pool2
}
/path3* {
pool pool3
}
/path4* {
set persist_jsessionid 1
if {[HTTP::cookie "JSESSIONID"] ne ""}{
persist uie [string tolower [HTTP::cookie "JSESSIONID"]] 3600
}
pool pool4
}
}
}
when HTTP_RESPONSE {
if {$persist_jsessionid}{
if {[HTTP::cookie "JSESSIONID"] ne "" && $header_uri starts_with "/path4"} {
persist add uie [string tolower [HTTP::cookie "JSESSIONID"]] 1800
}
}
}
Still no go. What i suspect is happening is that the requests for other paths are being sent to pool4 based on the persistence table rather than following the irule routing them to the appropriate pool. I have tried a oneconnect profile with all 0's with all 255's and with no oneconnect profile, thinking that was what was casuing it to follwo persistence table rather then reading the irule for each request. Still no workie. So why are the requests for other paths not getting sent to the right pools?
Thanks,
Joe Martin