Forum Discussion
iRule to Use Existing Cookie for Persistence Routing
Is it possible to use an iRule to create persistent connections to pool members based on an existing application layer cookie? Meaning if the cookie exists, send the connection to one pool member persistently based on that cookie. If it doesn't, send to a default pool member. The reason for this would be persistent connection based on source IP will not work as the source IP is a proxy which lives in front of this pool and that IP doesn't change.
Thank you.
- PeteWhite
Employee
Yes - universal persistence. https://support.f5.com/csp/article/K7392 gives you examples
- D_T
Cirrus
Thank you! This does seem to do the trick. What I am noticing is traffic is only going to one pool member consistently though. The virtual server is set for the new Universal Profile created for this and pointing to the new iRule. The pool members are both set to round-robin and 1:1 in priority group. The UIE profile iRule looks like this:
when HTTP_RESPONSE { if { [HTTP::cookie exists "THECOOKIE"] } { persist add uie [HTTP::cookie "THECOOKIE"] pool po-serverpoolqa-https } } when HTTP_REQUEST { if { [HTTP::cookie exists "THECOOKIE"] } { persist uie [HTTP::cookie "THECOOKIE"] pool po-serverpoolqa-https } }
- PeteWhite
Employee
Is the cookie content different for each of those requests? I’d tend to do this only on request
Recent Discussions
Related Content
* 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