You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx配置CDN后无法获取IPv6客户端真实IP的技术求助

解决Nginx通过IPv6 CDN获取客户端真实IP的问题

这个问题的核心很明确:你当前的set_real_ip_from只配置了CDN的IPv4可信网段,完全没覆盖CDN的IPv6代理地址。Nginx的realip模块只会对可信代理列表内的IP来源请求,才会从real_ip_header指定的字段(这里是X-Forwarded-For)中提取真实客户端IP;如果请求来自列表外的IP(比如CDN的IPv6节点),它就会直接把这个代理IP当作remote_addr返回,不会去解析X-Forwarded-For。

具体解决步骤:

  1. 获取你的CDN服务商提供的完整IPv6可信网段
    不同CDN的IPv6网段不一样,比如Cloudflare、阿里云CDN、腾讯云CDN都有公开的官方文档列出他们的IPv4/IPv6代理地址段。你需要去对应服务商的文档里找到完整的IPv6网段列表,别漏了任何一段。

  2. 更新Nginx配置,添加IPv6的可信网段
    在原有IPv4的set_real_ip_from规则下面,追加CDN的IPv6网段配置,示例如下(以Cloudflare的IPv6段为例,你要替换成自己CDN的实际网段):

    # 保留原有所有IPv4可信网段
    set_real_ip_from 173.245.48.0/20;
    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 141.101.64.0/18;
    set_real_ip_from 108.162.192.0/18;
    set_real_ip_from 190.93.240.0/20;
    set_real_ip_from 188.114.96.0/20;
    set_real_ip_from 197.234.240.0/22;
    set_real_ip_from 198.41.128.0/17;
    set_real_ip_from 162.158.0.0/15;
    set_real_ip_from 104.16.0.0/12;
    set_real_ip_from 172.64.0.0/13;
    set_real_ip_from 131.0.72.0/22;
    
    # 添加CDN的IPv6可信网段(替换成你的CDN实际网段)
    set_real_ip_from 2606:4700::/28;
    set_real_ip_from 2606:4700:10::/36;
    set_real_ip_from 2606:4700:20::/36;
    set_real_ip_from 2606:4700:30::/36;
    set_real_ip_from 2606:4700:40::/36;
    set_real_ip_from 2a06:98c0::/29;
    
    real_ip_header X-Forwarded-For;
    # 可选:如果X-Forwarded-For包含多个IP(比如多层代理),开启递归查找真实IP
    # real_ip_recursive on;
    
  3. 验证配置并重启Nginx
    执行nginx -t检查配置语法是否正确,没问题的话执行nginx -s reload重载配置。

关于你担心的「客户端直接访问时X-Forwarded-For不存在」问题:

完全不用怕!realip模块的逻辑是:

  • 如果请求来自set_real_ip_from列表内的可信代理:就从X-Forwarded-For里提取真实IP,覆盖remote_addr
  • 如果请求直接来自客户端(不在可信列表里):Nginx不会修改remote_addr,这个字段就是客户端的真实IP(不管是IPv4还是IPv6),哪怕X-Forwarded-For不存在也不影响。

测试的时候可以分别用:

  • IPv6设备通过CDN访问,检查remote_addr是否为你的真实IPv6
  • 直接用客户端(跳过CDN)访问,检查remote_addr是否为客户端的真实IP

内容的提问来源于stack exchange,提问作者Free P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:46:31