在我的python应用程序中,浏览器向我的服务器发送请求以获取某些信息。我需要跟踪发出请求的源的IP。通常,我可以通过此调用获取该信息:
request.headers.get('遥控-ADDR&#39)
但是,当我在像HaProxy这样的负载均衡器后面部署应用程序时,给出的IP是负载均衡器而不是浏览器的IP。
如何在负载均衡器后面获取服务器上的浏览器IP?
我的另一个问题是我通过HAProxy使用从浏览器到我的服务器的TCP连接而不使用http。
答案 0 :(得分:3)
我在AWS ELB和Apache上遇到过这个问题。解决方案是mod_rpaf,它读取X-Forwarded-For标头并将其替换为标准ip标头。
您应该检查haproxy是否正在设置X-Forwarded-For标头(包含真实客户端IP)。您可以使用modrpaf或其他技术来读取真实的IP。