Welcome! Log In Create A New Profile

Advanced

Re: [PATCH] Fix for ticket #106: Correctly handle multiple X-Forwarded-For headers

Tribble, Alex
July 09, 2012 05:06AM
How do other people feel about this patch? I would love to see it get into
the
upstream, since I'm currently maintaining a local branch for it.

On 6/26/12 10:36 AM, "Tribble, Alex" <atribble@amazon.com> wrote:

>It looks good to me - thank you very much for doing this.
>
>Attached patch applies to the stable-1.2 branch.
>
>On 6/24/12 11:23 PM, "Ruslan Ermilov" <ru@nginx.com> wrote:
>
>>On Tue, Jun 19, 2012 at 06:47:56PM -0700, Tribble, Alex wrote:
>>> When nginx gets multiple X-Forwarded-For headers in a single request,
>>>it
>>> only keeps the last one in r->headers_in (and thus in
>>> $http_x_forwarded_for, $proxy_add_x_forwarded_for). Reverse proxies
>>>behind
>>> an nginx instance sometimes need the entire X-Forwarded-For chain -
>>>part
>>> of which is discarded in this case.
>>>
>>> Per RFC 2616, it's equivalent to concatenate each header value
>>>(separated
>>> by a comma) and send the concatenated value to the upstream:
>>> 4.2
>>> -snip-
>>> Multiple message-header fields with the same field-name MAY be
>>> present in a message if and only if the entire field-value for that
>>> header field is defined as a comma-separated list [i.e., #(values)].
>>> It MUST be possible to combine the multiple header fields into one
>>> "field-name: field-value" pair, without changing the semantics of
>>>the
>>> message, by appending each subsequent field-value to the first, each
>>> separated by a comma. The order in which header fields with the same
>>> field-name are received is therefore significant to the
>>> interpretation of the combined field value, and thus a proxy MUST
>>>NOT
>>> change the order of these field values when a message is forwarded.
>>> -snip-
>>>
>>> Attached is a patch that does exactly this, in the case of multiple
>>>headers.
>>> Please let me know if you have any comments about this patch - I'm
>>>happy
>>> to make any changes you suggest.
>>>
>>> Relevant bug report:
>>> http://trac.nginx.org/nginx/ticket/106
>>
>>How's this patch instead?
>>
>><snip>
>

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[PATCH] Fix for ticket #106: Correctly handle multiple X-Forwarded-For headers Attachments

Tribble, Alex 1835 June 19, 2012 09:50PM

Re: [PATCH] Fix for ticket #106: Correctly handle multiple X-Forwarded-For headers

Vladimir Shebordaev 616 June 20, 2012 03:16AM

Re: [PATCH] Fix for ticket #106: Correctly handle multiple X-Forwarded-For headers

Ruslan Ermilov 517 June 25, 2012 02:24AM

Re: [PATCH] Fix for ticket #106: Correctly handle multiple X-Forwarded-For headers Attachments

Tribble, Alex 554 June 26, 2012 01:38PM

Re: [PATCH] Fix for ticket #106: Correctly handle multiple X-Forwarded-For headers

Tribble, Alex 585 July 09, 2012 05:06AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 227
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready