Forum Discussion
10.2.3 Persistence Profile inconsistencies
I have a web portal deployed that is behind a pair of F5s. There are 3 web servers being load balanced that require persistence because there's no central session broker for the portal system.
Because of the way the web guys wanted to deploy the portal, it was done in mixed-mode SSL, meaning, the users go to are redirected to and are redirected back to after they authenticate correctly.
Something like 90-95% of the time, this seems to work and their sessions stay together. The other 5-10%, they start on one web server and end up on a different one. Then their sessions get locked on the web servers and they can no longer login until they time out (long time outs too).
To do this, I have to have 2 pools and 2 virtual servers (http and https) and match across virtual servers.
The number of calls about this problem showed up pretty quickly and it appears the upgrade to 10.2.3 from 10.2.0 may be the culprit. I found this in the release notes prior to 10.2.3:
Behavior changes in 10.2.2
ID 226971, CR142479
In previous releases, the system reused client session IDs from previous sessions to reestablish SSL connections. Now, in situations where security changes in the BIG-IP configuration, for example, an iRule changes the security parameter to request or require client certificates, the system establishes a new SSL connection with the client and does not reuse the previously established session ID.
So...my question. Could that be the cause of a Source IPAddress Affinity profile not working?
I plan on rolling back to 10.2.0 and seeing if the problem goes away. I just wanted some more eyes on the problem to assist since I've not gotten much feedback from Support over the past many weeks and numerous tcpdumps showing the behavior. They've really tried though-
Thanks,
Scarpozzi
- Marek_S_64473NimbostratusI don't see any reason why SSL renegotiation would affect Source IP based persistance.The client IP stays the same all the time. Can you try disabling CMP to see if the problem goes away? You can do it just for one virtual server.
- scarpozzi_82104NimbostratusAt this point, I'm just trying to get a handle on why persistence isn't working and looking at anything that could be the cause. I don't know how the F5 handles the source ip sessions and whether or not it links them to a session id in the tables or if it does it the other way around... I don't know how long we've experienced the problems because it's so infrequent and I've only had it happen to me a few times in the past year and I use the web servers every day. Some folks have it happen much more frequently, for some reason.
- hooleylistCirrostratusHi Scarpozzi,
- scarpozzi_82104NimbostratusC1109834
- hooleylistCirrostratusMake sure you have match across services enabled on the source address profile. And make sure that each virtual server's pool has the same node IP addresses. See SOL5837 for details:
- hooleylistCirrostratusAlso, if you were interested in serving all of the content over HTTPS (which would be far more secure than mixed HTTP/HTTPS), you could use a simple iRule to redirect requests to the HTTP VS to HTTPS. On the HTTPS VS, you could use a blank stream profile and an iRule that configures the stream filter to rewrite http:// references to https://.
- scarpozzi_82104NimbostratusI went back and forth over which option would suit me best....match across services or match across vs. In production, since we've had this problem, I've tried both match across virtual servers and match across services. I'm see the error using either one. As for the timeout....I did have that set to 13 hours so it would last the length of a work-day. Then in reading, I found that keep-alives are supposed to extend the timeout, so if they're logged in, it should never be an issue. With it set to 3 minutes (1800 seconds), I can go back 20 minutes later and it still works for me... I'm able to see that I'm still getting these errors in the web server logs.
- scarpozzi_82104NimbostratusI used the persistence-based cookie iRule as noted here:
- scarpozzi_82104NimbostratusI used the persistence-based cookie iRule as noted here:
- scarpozzi_82104NimbostratusI used the persistence-based cookie iRule as noted here:
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