Nginx Web日志获取真实IP(针对不清楚回源IP)
站点配置了CDN,日志中记录的IP地址全是CDN节点
nginx 防火墙:是否开启CDN对web日志没影响
测试环境:
测试网站:test.cloudduo.cn
web服务器:nginx
注释:左上为web日志、左下阿里云CDN IP检测工具、右侧为网站访问页面和域名解析情况
站点对应配置文件添加
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
保存之后再重载 nginx服务 ,记住,操作前请务必先备份!!
注释:左上为web日志、左下阿里云CDN IP检测工具、右侧为网站访问页面和域名解析情况
Nginx Web日志获取真实IP(针对清楚回源IP)
改Nginx服务配置文件。
打开default.conf
配置文件,在location / {}
中添加以下内容:
说明
其中,ip_range1,2,...,x
指WAF的回源IP地址,需要分多条分别添加。
set_real_ip_from ip_range1;
set_real_ip_from ip_range2;
...
set_real_ip_from ip_rangex;
real_ip_header X-Forwarded-For;
Apache Web日志获取真实IP(针对不清楚回源IP)
- 执行如下命令,安装Apache的一个第三方模块mod_rpaf。
wget https://github.com/gnif/mod_rpaf/archive/v0.6.0.tar.gz tar zxvf mod_rpaf-0.6.tar.gz cd mod_rpaf-0.6 /alidata/server/httpd/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
- 修改Apache的配置文件/alidata/server/httpd/conf/httpd.conf,在最末尾添加以下配置信息。
LoadModule rpaf_module modules/mod_rpaf-2.0.so RPAFenable On RPAFsethostname On RPAFproxy_ips <IP_address> RPAFheader X-Forwarded-For
针对阿里云负载均衡的说明 如果您要获取代理服务器的地址,可以将代理服务器的网段添加到
RPAFproxy_ips <IP_address>
,如负载均衡的IP地址段100.64.0.0/10(100.64.0.0/10 是阿里云保留地址,其他用户无法分配到该网段内,不会存在安全风险)和高防IP地址段。多个IP地址段用逗号分隔。
- 添加完成后重启Apache。
网站监控报表
nginx服务是否配置了获取真实IP,nginx防火墙是否开启了CDN,并不会影响到网站监控的信息,是相对独立的存在的