2010-01-27 73 views

回答

9

您的Web服务器可能位于负载平衡器后面。你可以尝试使用request.META ['HTTP_X_FORWARDED_FOR']。

或更好,请看django book, chapter 15 - 什么是中间件?反向代理支持(X-Forwarded-For Middleware)部分。

+2

请注意,X-Forwarded-For中间件已被弃用/从最近的Django版本中移除,因为它决定它可能会给开发人员一个错误的感觉,即X-Forwarded-For头可以被实际依赖(它可以' T)。很容易写出你自己的;只是意识到它很容易被欺骗。 – 2010-01-30 15:29:01

2

如果你在一个代理的后面,运行apache作为web服务器,你可以使用mod_rpaf。代理只需要发送X-Forwarded-For或X-Real-IP头。

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

相关问题