Forum Discussion
Connection Reset on Website Logout - Firefox Only
I have a Java cookie persistence iRule that looks like this:
when HTTP_REQUEST {
Check if JSESSIONID exists
if { [HTTP::cookie exists "JSESSIONID"] } {
JSESSIONID found in the request we capture the first 32 characters
set jsess_id [string range [HTTP::cookie "JSESSIONID"] 0 31] persist uie $jsess_id
Check if JSESSIONID exists in the uie persist table
set p [persist lookup uie $jsess_id all] if { $p ne "" } {
JSESSIONID found in the persist table
log "JSESSIONID = \"$jsess_id\" found in persistency-table ([lindex $p 0] [lindex $p 1])" } else {
unknown JSESSIONID (could be a fake JSESSIONID inserted by a bad end-user or a user inactive for 30 minutes)
log local0. "JSESSIONID = \"$jsess_id\" not found in persistency-table" }
} else {
JSESSIONID not found in the request (could be a new client)
log local0. "No JSESSIONID cookie" } }
when HTTP_RESPONSE { if { [HTTP::cookie exists "JSESSIONID"] } { set jsess_cookie [HTTP::cookie "JSESSIONID"] persist add uie $jsess_cookie 3600 log local0. "Add persist entry for JSESSIONID \"$jsess_cookie\"" } }
This is working fine within Chrome but when users hit the "Logout" button on the website within Firefox, they are presented with a Connection Reset page. I am seeing aborts on the HTTP_RESPONSE portion of the iRule and the only error in the log is this:
Jun 16 09:29:29 slb8a err tmm3[9259]: 01220001:3: TCL error: - attempt to use empty persistence key (line 3) invoked from within "persist add uie $jsess_cookie 3600"
Any help is greatly appreciated.
3 Replies
that log most certainly is the cause a TCL error causes a TCP reset.
apparently the $jsess_cookie value is empty for that session.
further it is difficult to say as the irule got messed up, could you perhaps to repost it, perhaps on paste bin or such?
- Ganno_161963
Nimbostratus
Thanks for the reply boneyard. We found the issue and the solution is outlined in this post:
https://devcentral.f5.com/questions/jsessionids-with-null-or-empty-values
We asked the website programmer to see if he could simply send a null value in JSESSIONID cookie and he stated "" is interpreted as null from the application side. The only issue with the F5 logic is it takes "" as an actual value and then attempting to persist off of it. The new iRule in the above post fixed it though.
- ah great you worked it out and thanks for explaining how.
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)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