Forum Discussion
BIG-IP : http profile : insert x-forwarded-for : enabled
F5 BIG-IP Virtual Edition v11.4.1 (Build 635.0) LTM on ESXi
HTTP Profile
Insert X-Forwarded-For : Enabled
Suppose the client has already added the "X-Forwarded-For" header value to the request. How will BIG-IP behave ? Will it leave the existing header value intact ? Or will it overwrite the value with what it believes to be the request client ip ?
Further, at what point in request-processing does the insert/replace header operation occur ? Does it occur before iRule processing so that the header value is available within the iRule event processing
when HTTP_REQUEST {}
?7 Replies
- Greg_Chew_31149Historic F5 AccountFrom: https://support.f5.com/kb/en-us/solutions/public/4000/800/sol4816.html Many servers and applications expect only a single X-Forwarded-For header, per request. However, the BIG-IP system appends a new X-Forwarded-For header to the existing set of HTTP headers, even if there is an existing X-Forwarded-For header in the request. Both approaches are valid according to the Internet Engineering Task Force (RFC2616, Section 4.2). For applications expecting a single X-Forwarded-For header, it is possible to use an iRule instead of the HTTP profile option to append the client IP value to the end of any existing X-Forwarded-For header. F5 DevCentral iRules codeshare contains an example of such an iRule: X Forwarded For Single Header Insert. A DevCentral login is required to access this content. https://devcentral.f5.com/s/feed/0D51T00006i7OV1SAM
- thanks Greg - if added via http profile , is X-Forwarded-For available during irule processing ?
- for the case where the incoming request contains a collection of one or more XFF headers , what are the reasons behind BIG-IP's default practice of appending a new XFF header to the end of the collection ( as opposed to consolidating existing values into a comma-separated list of IPs stored in a single XFF header ) ?
- Ronald_van_der3
Nimbostratus
You can create an iRule which only adds the XFF Header if there is none in the request. In this case you disable the setting in the HTTP Profile.
- sure you can implement any custom logic whatsoever in an iRule ... but that wasn't my question
- Ronald_van_der_
Nimbostratus
You can create an iRule which only adds the XFF Header if there is none in the request. In this case you disable the setting in the HTTP Profile.
- sure you can implement any custom logic whatsoever in an iRule ... but that wasn't my question
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