源站程序如何获取客户端真实 IP

源程序如何获取客户端真实IPCDN默认给源服务器发送了两个请求头,X-Real-IP和X-Forwarded-For,这两个请求头都带有客户端的真实IP。 源程序在不配置的情况下,默认获取到的是节点IP,下面有两种方法来获取真实客户端IP配置宝塔Nginx,不用修改网站程序未配置前:其中106.55.151.

源站程序如何获取客户端真实 IP
封面图:ZuCDN · ZuCDN 自有内容

源程序如何获取客户端真实IP

CDN默认给源服务器发送了两个请求头,X-Real-IP和X-Forwarded-For,这两个请求头都带有客户端的真实IP。 源程序在不配置的情况下,默认获取到的是节点IP,下面有两种方法来获取真实客户端IP

配置宝塔Nginx,不用修改网站程序

未配置前:

源程序如何获取客户端真实IP 图片 1


其中106.55.151.50是节点IP 开始配置:

在配置文件里,增加

    set_real_ip_from  0.0.0.0/0;
    real_ip_header    X-Forwarded-For;

如图: 对于单个网站生效:

源程序如何获取客户端真实IP 图片 2


对于所有网站生效:

源程序如何获取客户端真实IP 图片 3


配置后,访问日志里显示真实IP了

源程序如何获取客户端真实IP 图片 4


修改网站程序

如果是php程序,就使用如下代码获取真实IP

$realIP = $_SERVER['HTTP_X_REAL_IP'];

即从X-Real-IP请求头获取

延伸阅读