From: Ben Darnell Date: Mon, 8 Nov 2010 18:54:50 +0000 (-0800) Subject: Support X-Forwarded-Proto in addition to X-Scheme X-Git-Tag: v1.2.0~82 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee55403cd4a6255f275b0f39cbc19f03accd29ef;p=thirdparty%2Ftornado.git Support X-Forwarded-Proto in addition to X-Scheme --- diff --git a/tornado/httpserver.py b/tornado/httpserver.py index d13732833..42b5c866d 100644 --- a/tornado/httpserver.py +++ b/tornado/httpserver.py @@ -437,7 +437,11 @@ class HTTPRequest(object): # Squid uses X-Forwarded-For, others use X-Real-Ip self.remote_ip = self.headers.get( "X-Real-Ip", self.headers.get("X-Forwarded-For", remote_ip)) - self.protocol = self.headers.get("X-Scheme", protocol) or "http" + # AWS uses X-Forwarded-Proto + self.protocol = self.headers.get( + "X-Scheme", self.headers.get("X-Forwarded-Proto", protocol)) + if self.protocol not in ("http", "https"): + self.protocol = "http" else: self.remote_ip = remote_ip self.protocol = protocol or "http"