diff options
-rw-r--r-- | docs/news.txt | 3 | ||||
-rw-r--r-- | paste/deploy/config.py | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/docs/news.txt b/docs/news.txt index 1f95a57..a72ed76 100644 --- a/docs/news.txt +++ b/docs/news.txt @@ -6,7 +6,8 @@ svn trunk * In :class:`paste.deploy.config.PrefixMiddleware` the headers ``X-Forwarded-Scheme`` and ``X-Forwarded-Proto`` are now translated - to the key ``environ['wsgi.url_scheme']``. + to the key ``environ['wsgi.url_scheme']``. Also ``X-Forwarded-For`` + is translated to ``environ['REMOTE_ADDR']`` 1.3.2 ----- diff --git a/paste/deploy/config.py b/paste/deploy/config.py index 7f4c6db..ddf0ed6 100644 --- a/paste/deploy/config.py +++ b/paste/deploy/config.py @@ -262,6 +262,8 @@ class PrefixMiddleware(object): 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 'HTTP_X_FORWARDED_FOR' in environ: + environ['REMOTE_ADDR'] = environ.pop('HTTP_X_FORWARDED_FOR') if 'HTTP_X_FORWARDED_SCHEME' in environ: environ['wsgi.url_scheme'] = environ.pop('HTTP_X_FORWARDED_SCHEME') elif 'HTTP_X_FORWARDED_PROTO' in environ: |