使用request.META['REMOTE_ADDR']
代码获取IP时。这在本地系统上工作正常但在托管在Web服务器上时,ip得到的是127.0.0.1 - 如何解决?
答案 0 :(得分:10)
您的网络服务器可能位于负载均衡器后面。您可以尝试使用request.META ['HTTP_X_FORWARDED_FOR']。
或者更好的是,请查看django book, chapter 15 - 什么是中间件?和反向代理支持(X-Forwarded-For Middleware)部分。
答案 1 :(得分:2)
如果您在代理服务器后面并运行apache作为Web服务器,则可以使用mod_rpaf。代理只需要发送X-Forwarded-For或X-Real-IP头。