热门标签:
Q:

使用Django,为什么REMOTE_ADDR会在web服务器上返回127.0.0.1?

获取带有request.META['REMOTE_ADDR']代码的IP时。 这在本地系统上运行良好,但是当托管在web服务器上时,ip得到的是127.0.0.1-如何解决这个问题?

原网址
A:

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

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

所有回答

共 1 条

author avatar

如果您使用代理并运行apache作为web服务器,则可以使用mod_rpaf。 代理只需要发送X-Forwarded-For或X-Real-IP头。

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

相似问题