Mohanad
Sep 14, 2021Cirrostratus
Session Persistence based on http header value using iRule
Hello
Kindly i need to apply Session Persistence based on http header :
Payment application working as follow:
- At first request (Login) the server response with http header named "X-Token" with "fb9c2bb6-80f6-16c3-afcd-84e98976a4b7"
- The rest of http requests will have header name "X-Auth-Token" with the same value "fb9c2bb6-80f6-16c3-afcd-84e98976a4b7" assigned by the server
I want to make sure that the client land on the same server that sent the "X-Token"
I searched for iRule that match the http header, the following iRule will work or need to modify it?
when HTTP_REQUEST {
if { [HTTP::header exists "X-Auth-Token"]} {
persist uie [HTTP::header "X-Auth-Token"]
}
}
Q
when HTTP_RESPONSE {
if { [HTTP::header exists "X-Token"] } {
if { [HTTP::header "X-Token"] != "" } {
persist add uie [HTTP::header "X-Token"]
}
}
}
when HTTP_REQUEST {
if { [HTTP::header exists "X-Auth-Token"] } {
set value [persist lookup uie [HTTP::header "X-Auth-Token"]]
log local0. "value is $value"
if { $value != "" } {
persist uie [HTTP::header "X-Auth-Token"]
}
}
}