使用Cloudflare后获取访客真实IP
应用程序获取访客真实IP
使用请求头中的cf-connecting-ip
或者x-forwarded-for
即可。
Nginx获取访客真实IP
安装Real_IP模块
- 编辑Lnmp目录中的
lnmp.conf
文件 - 修改
Nginx_Modules_Options='--with-http_realip_module'
- 保存后执行./upgrade.sh nginx来升级下Nginx就可以了
参考链接: LNMP安装Nginx Realip模块获取访客真实IP | 厘米天空
修改配置文件
在此查看Cloudflare的IP范围:https://www.cloudflare.com/zh-cn/ips/。
根据以上信息生成一个配置文件。
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 127.0.0.1/32;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2a06:98c0::/29;
set_real_ip_from 2c0f:f248::/32;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
可以将以上内容保存为/usr/local/nginx/conf/cloudflare.conf
。然后在网站配置文件中直接引用即可。
server
{
listen 80;
listen [::]:80;
server_name example.com ;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/example/;
include cloudflare.conf;
}
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。