使用CDN之后,访问的客户端用户玩家IP都是CDN服务器的IP,并非真实玩家IP、网站日志里获取到的也都是CDN的IP地址,使用下面的方法可以简单的获取访客真实IP地址
非常简单,只需要向Nginx的设置的第17行与第18行之间中插入如下内容即可,通杀市面上99%的CDN(下面是MW和宝塔面板,原生的自己看着插入)
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
大佬请问docker网站挂了cdn怎么显示用户真实ip呢,没使用nginx,纯docker搭建的html网站