apache获取CDN访客真实IP模块mod_rpaf与日志修改

介绍

在使用CDN以后,apache日志中显示的是CDN的IP,而访客真实IP是需要使用第三方模块获取。根据阿里云CDN的指引(https://help.aliyun.com/knowledge_detail/40535.html),需要使用一个叫做mod_rpaf的模块。

下载

mod_rpaf经典版本是0.6,网上教程大都基于0.6撰写,实测适用于apache2.2(apache2.4未测,但应该也可用,未测是否支持ssl)。因原作者网站关闭,所以mod_rpaf-0.6.tar.gz在网上不好找了,下面分享两个可用的下载地址。

https://fossies.org/linux/www/apache_httpd_modules/old/mod_rpaf-0.6.tar.gz/
http://dl.kvm.la/softsource/mod_rpaf-0.6.tar.gz

而最新版本已在在github发布。
https://github.com/gnif/mod_rpaf/

安装

记录一下编译后的.so文件位置

配置

mod_rpaf配置需要找到httpd.conf(DirectAdmin中路径为/etc/httpd/conf/httpd.conf),或者添加到拓展文件extra/文件夹下其他httpd-xxx文件中,比如/extra/httpd-phpmodules.conf(当然要确定这个拓展文件是被基本配置文件httpd.conf所引用的)。

日志

修改apache日志,让日志获取访客真实ip。需要自定义apache的日志,一般为httpd.conf基本配置文件。
将其中%a或者%h,改为%{X-Forwarded-For}i
下面为我修改后的例子,可做参考。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注