varnishncsa日志中输出真实IP
varnishncsa是用来输出访问日志的工具,跟apache一样,如果是通过代理转发之后访问过来的话输出的是代理服务器的IP地址,如果要打印出真实的访问IP也很简单,只要加上-f
参数,就会在日志输出中使用 X-Forwarded-For HTTP 头代替 client.ip,当然前提是前端的代理服务器设置了X-Forwarder-For头。
或者也可以用-F参数指定输出格式,如:
varnishncsa -F "%{X-Forwarded-For}i %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""
默认是
"%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""
日志自定义格式在3.0之后开始支持。
例如: 我使用的命令如下:
/usr/local/varnish3/bin/varnishncsa -F "%{X-Forwarded-For}i %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"" -n /data/varnish/cache/
-w /data/varnish/log/varnish.log ##在同一行上
阅读(1734) | 评论(0) | 转发(0) |