Add middleware for fix "get_host() method fails when the host is behind multiple proxies"
This commit is contained in:
parent
5b53daa14a
commit
9431e9846c
2 changed files with 20 additions and 1 deletions
17
utils/middleware.py
Normal file
17
utils/middleware.py
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
class MultipleProxyMiddleware(object):
|
||||
FORWARDED_FOR_FIELDS = [
|
||||
'HTTP_X_FORWARDED_FOR',
|
||||
'HTTP_X_FORWARDED_HOST',
|
||||
'HTTP_X_FORWARDED_SERVER',
|
||||
]
|
||||
|
||||
def process_request(self, request):
|
||||
"""
|
||||
Rewrites the proxy headers so that only the most
|
||||
recent proxy is used.
|
||||
"""
|
||||
for field in self.FORWARDED_FOR_FIELDS:
|
||||
if field in request.META:
|
||||
if ',' in request.META[field]:
|
||||
parts = request.META[field].split(',')
|
||||
request.META[field] = parts[-1].strip()
|
||||
Loading…
Add table
Add a link
Reference in a new issue