宝塔Nginx使用CDN(Cloudflare)后获取用户真实ip

首先找到Nginx的nginx.conf文件,宝塔面板上直接在软件管理那儿,Nginx设置的配置修改栏中直接打开,然后在http{后加入如下两行代码:

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

然后打开你网站的日志测试看看

set_real_ip_from:定义接受从哪个信任前代理处获得真实用户ip,可以定义多行,可定义为ip,ip段,支持ipv4和ipv6
real_ip_header:定义从接收到报文的哪个http头部去获取前代理传送的用户ip,默认为X-Real-IP
real_ip_recursive:递归搜索,默认为off

# 下面三行为常见反向代理传递真实客户端IP的配置,配置在http{}中,则全局应用在下面的所有server中

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

获取真实IP

获取真实IP使用到的ngx_http_realip_module模块,会通过配置提取用户真实IP,并将其负值到

$remote_addr,共有三个配置参数,分别是:

set_real_ip_from:定义接受从哪个信任前代理处获得真实用户ip,可以定义多行,可定义为ip,ip段,支持ipv4和ipv6
real_ip_header:定义从接收到报文的哪个http头部去获取前代理传送的用户ip,默认为X-Real-IP
real_ip_recursive:递归搜索,默认为off
© 版权声明
THE END
文章不错?点个赞呗
点赞0 分享