Forum Discussion
Chuck_Adkins_13
Nimbostratus
Mar 20, 2006presist across two VIPs - SSL and clear - advise
Pretty basic setup where client connections with two connections - one ssl and one clear - and I want them to persist to the same node (obviously different ports). I am thinking that others must be doing this and there may be best practice vs wrong-way-bad-use-of-resources methods.
VIP:443 (ssl) --> POOL_S
VIP:80 (clear) ---> POOL_C
Client connects to VIP:443, SSL is not handled by BIGIP. After client authenticates a second connection to VIP:80 is established. Both connections need to persist to the same/orignal node of pool.
What is the best way to do this? Since I cannot see headers in the SSL connection - I think that rules ou using UIE and using somehting easy/standard like the userid to persist on.
The client is a homegrown application and we can set a header variable "NodeConnectedTo" to the node : that the clear connection needs to use. The first SSL connection is a stateful, long-lived connection that by its nature doesn't need persistence - although if there is a way to set it I would like to( will give me more options in the future)
- Chuck_Adkins_13
Nimbostratus
Testing this now - pretty simple - may be on the right track -when HTTP_REQUEST { log local0. "starting rule" set LB_CL_NODE [HTTP::header "NodeAddress"] log local0. "node is $LB_CL_NODE" pool some_pool member $LB_CL_NODE log local0. "sending to $LB_CL_NODE" }
- Deb_Allen_18Historic F5 AccountIf you can set a server-referencing cookie for the HTTP connection, as you mention, the simplest solution is probably not a rule, but LTM's built-in passive cookie persistence feature.
- Chuck_Adkins_13
Nimbostratus
Unfortunately my client is not cookie-aware - Deb_Allen_18Historic F5 Accountah, my apologies. I assumed when you said you could set a header you were referring to set-cookie.
pool some_pool member ${LB_CL_NODE}:80
- Chuck_Adkins_13
Nimbostratus
this is working:when HTTP_REQUEST { log local0. "starting rule" set LB_CL_NODE [HTTP::header "NodeAddress"] log local0. "node is $LB_CL_NODE" pool some_pool member $LB_CL_NODE log local0. "sending to $LB_CL_NODE" }
- Chuck_Adkins_13
Nimbostratus
This is working ok ... however it forces me to use L7 loadbalancing ... is there any way to start in L7 and then pass off to L4? The L7 is KILLING my CPU ... nearly maxing out a 8400 w/10K connections and 700M.
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