Commit cb7f63d8 by Bertrand Marron

Add XForwardedFor middleware

parent e71903a0
......@@ -211,6 +211,9 @@ MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'method_override.middleware.MethodOverrideMiddleware',
# Reverse proxy
'x_forwarded_for.middleware.XForwardedForMiddleware',
# Instead of AuthenticationMiddleware, we use a cache-backed version
'cache_toolbox.middleware.CacheBackedAuthenticationMiddleware',
'student.middleware.UserStandingMiddleware',
......@@ -549,7 +552,10 @@ INSTALLED_APPS = (
'monitoring',
# Course action state
'course_action_state'
'course_action_state',
# Reverse proxy
'x_forwarded_for',
)
......
class XForwardedForMiddleware(object):
"""
Middleware for rewriting REMOTE_ADDR when behind a proxy
"""
def process_request(self, request):
"""
Rewrite the REMOTE_ADDR header using HTTP_X_FORWARDED_FOR
"""
if 'HTTP_X_FORWARDED_FOR' in request.META:
request.META['REMOTE_ADDR'] = request.META['HTTP_X_FORWARDED_FOR']
return None
......@@ -818,6 +818,9 @@ MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
# Reverse proxy
'x_forwarded_for.middleware.XForwardedForMiddleware',
# Instead of AuthenticationMiddleware, we use a cached backed version
#'django.contrib.auth.middleware.AuthenticationMiddleware',
'cache_toolbox.middleware.CacheBackedAuthenticationMiddleware',
......@@ -1321,7 +1324,10 @@ INSTALLED_APPS = (
'monitoring',
# Course action state
'course_action_state'
'course_action_state',
# Reverse proxy
'x_forwarded_for',
)
######################### MARKETING SITE ###############################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment