From d5129b5065a8d2ec12eacb9c0aa030f005b15a89 Mon Sep 17 00:00:00 2001 From: Kelketek Date: Wed, 6 Feb 2013 07:41:22 -0600 Subject: [PATCH] Updated X-Forwarded-For to better conform to spec (multiple proxies). --- src/server/webserver.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/server/webserver.py b/src/server/webserver.py index 4104e42f44..9daf5d8b20 100644 --- a/src/server/webserver.py +++ b/src/server/webserver.py @@ -30,13 +30,13 @@ class HTTPChannelWithXForwardedFor(http.HTTPChannel): """ Check to see if this is a reverse proxied connection. """ - IP = 0 - PORT = 1 + CLIENT = 0 http.HTTPChannel.allHeadersReceived(self) req = self.requests[-1] client_ip, port = self.transport.client - forwarded = req.getHeader('X-FORWARDED-FOR') - if forwarded and client_ip in UPSTREAM_IPS: + proxy_chain = req.getHeader('X-FORWARDED-FOR') + if proxy_chain and client_ip in UPSTREAM_IPS: + forwarded = proxy_chain.split(', ', 1)[CLIENT] self.transport.client = (forwarded, port)