]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Support X-Forwarded-Proto in addition to X-Scheme
authorBen Darnell <ben@bendarnell.com>
Mon, 8 Nov 2010 18:54:50 +0000 (10:54 -0800)
committerBen Darnell <ben@bendarnell.com>
Mon, 8 Nov 2010 18:54:50 +0000 (10:54 -0800)
tornado/httpserver.py

index d13732833011049d2cc50800e81761e50157b8c2..42b5c866df78065b3c294c0a2214c5e88ff5f474 100644 (file)
@@ -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"