应用程序获取访客真实IP

使用请求头中的cf-connecting-ip或者x-forwarded-for即可。

Nginx获取访客真实IP

 安装Real_IP模块

  • 编辑Lnmp目录中的lnmp.conf文件
  • 修改Nginx_Modules_Options='--with-http_realip_module'
  • 保存后执行./upgrade.sh nginx来升级下Nginx就可以了

参考链接: LNMP安装Nginx Realip模块获取访客真实IP | 厘米天空

修改配置文件

在此查看Cloudflare的IP范围:https://www.cloudflare.com/zh-cn/ips/
根据以上信息生成一个配置文件。

set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 127.0.0.1/32;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2a06:98c0::/29;
set_real_ip_from 2c0f:f248::/32;
real_ip_header    X-Forwarded-For;
real_ip_recursive on;

可以将以上内容保存为/usr/local/nginx/conf/cloudflare.conf。然后在网站配置文件中直接引用即可。

server 
{
    listen 80;
    listen [::]:80;
    server_name example.com ;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /home/wwwroot/example/;

    include cloudflare.conf;
}
文章目录