当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《使用Django,为什么REMOTE_ADDR会在Web服务器上返回127.0.0.1?》经验,为你挑选了1个好方法。

使用request.META['REMOTE_ADDR']代码获取IP时.这在本地系统上工作正常但是当托管在Web服务器上时,ip得到的是127.0.0.1 - 如何解决这个问题?



1> Ofri Raviv..:

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

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


请注意,X-Forwarded-For中间件已被弃用/删除了最近的Django版本,因为它决定它可能会让开发人员误认为X-Forwarded-For标头实际上可以依赖(它不能).很容易写自己的; 请注意,它很容易被欺骗.
推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有