Commit 8bb17dad by Bertrand Marron Committed by Bertrand Marron

Add XForwardedFor middleware

parent a005de67
...@@ -215,6 +215,9 @@ MIDDLEWARE_CLASSES = ( ...@@ -215,6 +215,9 @@ MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'method_override.middleware.MethodOverrideMiddleware', 'method_override.middleware.MethodOverrideMiddleware',
# Reverse proxy
'x_forwarded_for.middleware.XForwardedForMiddleware',
# Instead of AuthenticationMiddleware, we use a cache-backed version # Instead of AuthenticationMiddleware, we use a cache-backed version
'cache_toolbox.middleware.CacheBackedAuthenticationMiddleware', 'cache_toolbox.middleware.CacheBackedAuthenticationMiddleware',
'student.middleware.UserStandingMiddleware', 'student.middleware.UserStandingMiddleware',
...@@ -631,6 +634,9 @@ INSTALLED_APPS = ( ...@@ -631,6 +634,9 @@ INSTALLED_APPS = (
# Additional problem types # Additional problem types
'edx_jsme', # Molecular Structure 'edx_jsme', # Molecular Structure
# 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
...@@ -928,6 +928,9 @@ MIDDLEWARE_CLASSES = ( ...@@ -928,6 +928,9 @@ MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
# Reverse proxy
'x_forwarded_for.middleware.XForwardedForMiddleware',
# Instead of AuthenticationMiddleware, we use a cached backed version # Instead of AuthenticationMiddleware, we use a cached backed version
#'django.contrib.auth.middleware.AuthenticationMiddleware', #'django.contrib.auth.middleware.AuthenticationMiddleware',
'cache_toolbox.middleware.CacheBackedAuthenticationMiddleware', 'cache_toolbox.middleware.CacheBackedAuthenticationMiddleware',
...@@ -1516,6 +1519,9 @@ INSTALLED_APPS = ( ...@@ -1516,6 +1519,9 @@ INSTALLED_APPS = (
'survey', 'survey',
'lms.djangoapps.lms_xblock', 'lms.djangoapps.lms_xblock',
# Reverse proxy
'x_forwarded_for',
) )
######################### MARKETING SITE ############################### ######################### 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