summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorianb <devnull@localhost>2007-08-13 22:13:42 +0000
committerianb <devnull@localhost>2007-08-13 22:13:42 +0000
commit433b5468b9bda191271974f5a9bc5626de2897fd (patch)
tree97ac75629f86afff6ac8073bfd1355694ab4aba5
parent425f7f8e5aa5db933d269699afa79de500132522 (diff)
downloadpastedeploy-433b5468b9bda191271974f5a9bc5626de2897fd.tar.gz
Use X-Forwarded-Host if available
-rw-r--r--paste/deploy/config.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/paste/deploy/config.py b/paste/deploy/config.py
index 094f72e..91c1ab2 100644
--- a/paste/deploy/config.py
+++ b/paste/deploy/config.py
@@ -256,9 +256,11 @@ class PrefixMiddleware(object):
if not url: url = '/'
environ['PATH_INFO'] = url
environ['SCRIPT_NAME'] = self.prefix
- if (self.translate_forwarded_server and
- 'HTTP_X_FORWARDED_SERVER' in environ):
- environ['HTTP_HOST'] = environ.pop('HTTP_X_FORWARDED_SERVER')
+ if self.translate_forwarded_server:
+ if 'HTTP_X_FORWARDED_SERVER' in environ:
+ environ['SERVER_NAME'] = environ['HTTP_HOST'] = environ.pop('HTTP_X_FORWARDED_SERVER')
+ if 'HTTP_X_FORWARDED_HOST' in environ:
+ environ['HTTP_HOST'] = environ.pop('HTTP_X_FORWARDED_HOST')
if self.force_port is not None:
host = environ.get('HTTP_HOST', '').split(':', 1)[0]
if self.force_port: