我已经测试了很多前端代理,比如HAProxy,Apache,Nginx和Lighttpd,但在我的龙卷风后端服务器的日志中,我刚刚被前端服务器访问过。意思是,我想知道正在访问的客户端的真实IP,所以我的日志分析器认为我的访问次数超过1次。
最简单的方法是什么?
后端是龙卷风python,前端可能是上面的任何一个,但我目前已经配置了nginx。
答案 0 :(得分:0)
你有几个选择。最容易实现的只是使用x-forwarded-for标头:
http://en.wikipedia.org/wiki/X-Forwarded-For
要在haproxy中启用x-forwarded-for,只需添加:
选项forwardfor
http://cbonte.github.io/haproxy-dconv/configuration-1.4.html#4.2-option%20forwardfor
如果您不想使用x-forwarded-for标头,那么您可以尝试在龙卷风中实施“PROXY协议”或者使用类似gunicorn的东西。 http://gunicorn.org/。 PROXY协议通过将原始L4信息添加到L7数据的末尾来工作。接收服务器必须了解PROXY协议或它看起来像一个损坏的数据包。