Commit 1ff4b087 by Bertrand Marron Committed by Bertrand Marron

Add XForwardedFor middleware

parent 4cf15bd3
......@@ -254,6 +254,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',
......@@ -730,6 +733,9 @@ INSTALLED_APPS = (
'edx_jsme', # Molecular Structure
'openedx.core.djangoapps.content.course_structures',
# 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
......@@ -1005,6 +1005,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',
......@@ -1669,6 +1672,9 @@ INSTALLED_APPS = (
'cors_csrf',
'commerce',
# Reverse proxy
'x_forwarded_for',
)
######################### CSRF #########################################
......
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