自从博客启用自建CDN后发现日志中全是CDN IP,不利于分析,搜索得知可以使用Nginx http_realip_module模块来获取访客真实IP

前提条件

输入nginx -V查看下是否已经安装http_realip_module模块,如果已经安装如下截图,若没有安装需要重新编译Nginx

snipaste_20171121_200515.png

配置

在location段内加上下面的配置,并重载Nginx(service nginx reload),再查看访问日志,正常获取访客IP

set_real_ip_from 222.222.222.222;  #这里是需要填写具体的CDN服务器IP地址
real_ip_header  X-Forwarded-For;
real_ip_recursive on; 

其中222.222.222.222为CDN节点IP,如果有多个节点,填写多行set_real_ip_from即可,如下:

set_real_ip_from 222.222.222.222;  #这里是需要填写具体的CDN服务器IP地址
set_real_ip_from 222.222.111.111;
real_ip_header  X-Forwarded-For;
real_ip_recursive on; 

此文参考了:获取CDN上用户真实IP地址