Problem persistent iRule
Within the login process, requests are send from a client towards our IDP. That same client also sends requests within the sale login process to a web server that in turn sends requests to our IDP.
The intention is that the requests that come directly from the client and those that go through the web server end up on the same IDP server.
The first IP within the X-Forwarded-For header always contains the client ip. Therefore the following IRule was configured:
if { $static::uri contains "/part_of_url" }{
if { [HTTP::header exists "X-Forwarded-For"] }{
persist uie [lindex [ split [lindex [HTTP::header values X-Forwarded-For] 0] "," ] 0]
}
}
Wat is the result?
Requests from the client directly to the IDP end up on the same IDP server and requests from the same client that go through the web server end up on another IDP. The first attribute of the X-Forwarded_For header is the same clientip for all requests. How can all requests from the same clientIP ends up on the same IDP server?