用了某防D系统之后,发现Lighttpd的访问记录IP全变成前端IP了;

但是在PHP可以获取到正确的用户IP,所以估计前端已经做好了真实IP转发,就不用做多余配置了。

直接nano /etc/lighttpd/conf.d/access_log.conf ,个人喜好nano,就是觉得方便,老手勿喷。

默认只打开了server.modules += ( "mod_accesslog" ),其他都是注释状态。

增加一行

accesslog.format  = "%h:%{X-Forwarded-For}i %v %u %t \"%r\" %s %b  \"%{User-Agent}i\" \"%{Referer}i\""

这样就可以记录到用户真实IP了。

access文件效果大概是这样:

222.161.220.21:126.117.44.43 zuimc.com - [16/Mar/2015:14:03:24 +0800] "POST /?u= HTTP/1.1" 200 55880  "-" "-"

如果你确定你的服务器IP不会有用户可以直接访问到(100%通过前端访问),那么也可以把%h去掉,只保留X-Forwarded-For:

accesslog.format  = "%{X-Forwarded-For}i %v %u %t \"%r\" %s %b  \"%{User-Agent}i\" \"%{Referer}i\""