网站使用 CDN 后 Apache 网站日志来源IP修正

因为网站服务器是美国的VPS,为什么选用美国的VPS?1、不用备案;2、便宜。

VPS 使用 Centos + Kloxo,Kloxo安装容易,配置简单,可以在Apache和lighttpd之间切换,完全可以满足我的需求。简而言之,好用。

VPS远在大洋彼岸,速度自然快不动啊哪里去,对网站使用了CDN,速度有明显的提升。但是,对网站使用了CDN后,Apache网站日志记录的来源IP就是CDN服务器的IP,这样很不利于追踪分析网站日志。

 kloxo 使用Apache的情况下,httpd.conf 位于 /etc/httpd/conf/httpd.conf,打开这个文件,找到LogFormat这行,进行以下修改:

LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

这样修改后,log中的 IP 就可以正常记录了。

PS:针对asp和php程序的修改方法也是类似的,有需要的朋友google一下,再或者百度一下。



  1. 我是IIS不知道有什么办法修正,用了CDN后不能分析蜘蛛的IP

  2. Dim userip:userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
    If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")