diff options
author | ianb <ianb@localhost> | 2007-08-13 22:13:42 +0000 |
---|---|---|
committer | ianb <ianb@localhost> | 2007-08-13 22:13:42 +0000 |
commit | fd5f40ba4467ec1d3342ebca0ce344f19859fc1c (patch) | |
tree | 97ac75629f86afff6ac8073bfd1355694ab4aba5 | |
parent | 241dc930aff3f6a03922ecf5754e39a35054f25b (diff) | |
download | pastedeploy-git-fd5f40ba4467ec1d3342ebca0ce344f19859fc1c.tar.gz |
Use X-Forwarded-Host if available
-rw-r--r-- | paste/deploy/config.py | 8 |
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: |