使用CDN后如何获取真实用户IP
源程序如何获取客户端真实IP
CDN默认给源服务器发送了两个请求头,X-Real-IP和X-Forwarded-For,这两个请求头都带有客户端的真实IP。
源程序在不配置的情况下,默认获取到的是节点IP,下面有两种方法来获取真实客户端IP
配置宝塔Nginx,不用修改网站程序
未配置前:
其中106.55.151.50是节点IP
开始配置:
在配置文件里,增加
set_real_ip_from 0.0.0.0/0; real_ip_header X-Forwarded-For;
如图:
配置后,访问日志里显示真实IP了
修改网站程序
如果是php程序,就使用如下代码获取真实IP
$realIP = $_SERVER['HTTP_X_REAL_IP'];
即从X-Real-IP请求头获取