Only use first value for X-Scheme for reverse proxy setup

Solves #1391
This commit is contained in:
Gina Häußge 2016-06-29 12:16:28 +02:00
parent c70708e915
commit 0376bc4235

View file

@ -225,6 +225,11 @@ class ReverseProxied(object):
# determine scheme
scheme = environ.get(self._header_scheme, "")
if scheme and "," in scheme:
# Scheme might be something like "https,https" if doubly-reverse-proxied
# without stripping original scheme header first, make sure to only use
# the first entry in such a case. See #1391.
scheme, _ = map(lambda x: x.strip(), scheme.split(",", 1))
if not scheme:
scheme = self._fallback_scheme