首页 > web应用 > Varnish 获取真实IP
2015
04-29

Varnish 获取真实IP

前言

   最近刚刚上线的业务,前端是负载均衡设备,后端是Varnish+Nginx,Varnish需要获取客户端的IP地址

注意这里的varnish使用rpm包安装

一、需要获取七层上的客户端IP设置的变量信息

1、使用抓包工具获取变量信息

tcpflow -cp host IP and port 80

1.png

由上图我们可以看出来是使用了X-Forwarded-For变量

2、修改varnish的配置文件

vim /etc/init.d/varnishncsa 
修改为这样的%{X-Forwarded-For}i
DAEMON_OPTS="-m TxHeader:X-Cache: HIT -F \"%{X-Forwarded-For}i %{%Y-%m-%dT%H:%M:%S+08:00}t %m %U %q - %s %b %D %{User-Agent}i\" -P $pidfile -a -w $logfile -D"

3、重启varnish

/etc/init.d/varnishncsa restart

总结

  到此Varnish就可以获取到真实的IP了,不在是前端设备的IP了,如有疑问请留言!




最后编辑:
作者:tshare365
这个作者貌似有点懒,什么都没有留下。
捐 赠您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请狠狠点击

留下一个回复