lighttpd 的访问日志中无法记录用户的真实IP解决方法

默认在lighttpd的accesslog里面无法记录透过squid或者apache的mod_proxy过来的用户ip地址,全都会记录到 squid或者apache机器的ip地址,但是httpd头里面的用户ip其实是发送到lighttpd的,可以通过修改 accesslog.format来达到目的

 

修改lighttpd配置文件中的的日志格式

server.modules              = (..., "mod_accesslog", ... )
#### accesslog module
accesslog.filename          = "/var/log/lighttpd/access.log"
accesslog.format = "%{X-Forwarded-For}i %v %u %t \"%r\" %s %b \"%{User-Agent}i\" \"%{Referer}i\""

 

其中”%{X-Forwarded-For}i 就是记录了用户来源的ip地址,这里日志与Apache combined相同。

 

你可能感兴趣的:(lighttpd,真实IP)