2010-01-27 24 views

Respuesta

9

Su servidor web está probablemente detrás de un equilibrador de carga. Puede intentar usar request.META ['HTTP_X_FORWARDED_FOR'].

O mejor, mira django book, chapter 15 - ¿Qué es Middleware? y Reverse Proxy Support (X-Forwarded-For Middleware) secciones.

+2

Tenga en cuenta que el middleware X-Forwarded-Forward ha sido desaprobado/eliminado de versiones recientes de Django, ya que se decidió que podría dar a los desarrolladores una falsa sensación de que realmente se puede confiar en el encabezado X-Forwarded-For (que puede ' t). Lo suficientemente fácil como para escribir el tuyo; solo tenga en cuenta que puede ser falsificado fácilmente. –

2

Si está detrás de un proxy y ejecuta Apache como servidor web, puede usar mod_rpaf. El proxy solo necesita enviar encabezados X-Forwarded-For o X-Real-IP.

http://stderr.net/apache/rpaf/

Cuestiones relacionadas