CDN后如果获取网站真实客户端IP地址

发布时间: 2023-06-05

使用CDN之后,访问的客户端用户玩家IP都是CDN服务器的IP,并非真实玩家IP、网站日志里获取到的也都是CDN的IP地址,使用下面的方法可以简单的获取访客真实IP地址

非常简单,只需要向Nginx的设置的第17行与第18行之间中插入如下内容即可,通杀市面上99%的CDN(下面是MW和宝塔面板,原生的自己看着插入)

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

如果没有realip模块,请看nginx 安装realip模块教程

1,查看原来nginx的安装模块

./nginx  -V

没有安装

2,重新编译原来的nginx

cd /tmp/nginx-1.18.0    (找到你自己存放的nginx源项目目录)

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module

make      (不要make install,否则就是覆盖安装)

make完之后在objs目录下就多了个nginx,这个就是新版本的程序了

暂停nginx,替换nginx二进制文件(传上去的时候注意文件权限,不然会报错,不知道权限参数,就参考原文件权限)。

./nginx -s stop

再启动 ./nginx -s reload 这里可能也会报错

重新指定nginx.conf的路径  ./nginx -c /usr/local/nginx/conf/nginx.conf

./nginx -s reload

./nginx -V

 安装成功

3,添加nginx的realip配置

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

验证配置文件:./nginx -t
刷新配置: ./nginx -s reload

  1. Anonl
    2023-11-18 23:43:51

    大佬请问docker网站挂了cdn怎么显示用户真实ip呢,没使用nginx,纯docker搭建的html网站

请在下方留下您的评论.加入TG吹水群