Forum Discussion
Dennis_Zwahlen_
Nimbostratus
Apr 29, 2005Emulate SSL persistenc profile for LTM terminated SSL
What do I need to account for in my iRule to emulate the ssl persistence profile? We need to find a way to keep sticky connections when the ssl is terminated on the LTM. Any help is greatly appreciated.
14 Replies
- drteeth_127330Historic F5 AccountIf SSL is terminated on the LTM, then usually there is something to persist on in the higher-level protocol. For HTTP, you could use cookie persistence. Lacking that, you could persist on the source address or the SSL session id; however, there are caveats associated with both approaches. To emulate SSL session id persistence, you can do something like this:
persist uie [SSL::session_id]
- Travis_Brodeen_
Nimbostratus
What are the caveats of SSL session persistence? - drteeth_127330Historic F5 AccountIf SSL is not terminated on the BIG-IP, then you are correct. Persistence is lost is the session is renegotiated. As I recall, the problem is that the renegotiation is encrypted so BIG-IP has no way of knowing what the new session id is. However, there is no problem if the BIG-IP is terminating the SSL.
- Travis_Brodeen_
Nimbostratus
I've tried using the following syntax for a new iRule and am recieving an error. - drteeth_127330Historic F5 AccountTry SSL::sessionid.
- Travis_Brodeen_
Nimbostratus
01070088:3: The requested object name (Persist SSL SessionID) is invalid. - drteeth_127330Historic F5 AccountAre you trying to name the rule "Persist SSL SessionId"? The above error looks like a problem with the configuration system. I don't think it has anything to do with the SSL::sessionid rule command. Please try again. Maybe try a simpler name.
- Travis_Brodeen_
Nimbostratus
Silly mistake.. thanks for your patience. The rule was accepted now. - Craig_Hammer_10
Nimbostratus
Lots of conflicting info regarding LTM terminated SSL.... - drteeth_127330Historic F5 AccountI think I can help. First, there is no such command as SSL::current_sessionid in BIG-IP 9.x. SSL::sessionid returns the negotiated session id encoded as a hex string. SSL::modssl_sessionid_headers takes two subcommands, initial or current.
returns the list { SSLClientSessionId } where is the session id requested by the client.SSL::modssl_sessionid_headers initial
returns the list { SSLClientCurrentSessionId } where is the session id that is actually used, i.e. the one returned by the server.SSL::modssl_sessionid_headers current
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