Forum Discussion
Jamey_Price_105
Nimbostratus
Oct 21, 2006Setting the Pool in STREAM_MATCHED
We're setting up a pool of load-balanced Lotus Notes boxes to provide webmail. One of the machines (currently, anyways) has a redirector set up so once you've logged in, if the machine you logged int...
Jamey_Price_105
Nimbostratus
Oct 23, 2006I've worked around the inability to look things up in DNS, and am stuck now with an iRule in which, no matter what pool command I issue, nothing seems to happen.
Here's my rule where I set up my stream expression to look for any of the (currently two) possible mailservers the HTML could attempt to redirect me to and replace them with the name behind which I'm reverse-proxying webmail. This works fine, since I'm ending up on the correct URL. I'm just not ending up on the correct internal server.
when HTTP_RESPONSE {
if {[HTTP::cookie exists "LtpaToken"]}{
set cookie_value [HTTP::cookie "LtpaToken"]
HTTP::cookie remove "LtpaToken"
HTTP::cookie insert name "LtpaToken" value "$cookie_value" path "/" domain "teamdetroit.com"
STREAM::expression "@MAILvmw.jwt.com@webmail.teamdetroit.com@@HUBvmw.jwt.com@webmail.teamdetroit.com@"
log "Cookie path is [HTTP::cookie path "LtpaToken"] and domain is [HTTP::cookie domain "LtpaToken"]"
}
}
This is the current incarnation of my pool-related iRule. You'll note that the first thing I tried doing is totally short-circuiting anything and just manually sending the request to the pool I know during this test it should go to. Yeah, that doesn't work.
when STREAM_MATCHED {
pool MAILvmw.jwt.com member 10.8.128.3 80
set mailserver [STREAM::match]
set serverip [NAME::lookup $mailserver]
set currpool [LB::server pool]
set currpoolmember [LB::server]
set serverresp [NAME::response $mailserver]
log "Stream matched $mailserver, $serverip"
if { $mailserver ends_with "jwt.com" } {
log "Setting pool to $mailserver instead of $currpool"
pool $mailserver
} else {
log "Mailserver didn't match jwt.com, setting pool to $currpool instead of $mailserver"
pool $currpool
}
}
I've tried making multiple requests and watching the pool statistics for each of the three pools: The default pool, the pool it should send the request to, and the pool it shouldn't (but could if the mail admins were to do something silly, so I watch it anyways). The only pool where the statistics ever change is the default pool.
So, what do you think? Am I running into a bug for which I should call support, or am I doing something wrong?
Thanks,
Fish
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects