文档首页> Web应用防火墙 WAF> 常见问题> 防护日志> WAF获取真实IP是从报文中哪个字段获取到的?
更新时间:2023-11-30 GMT+08:00
分享

WAF获取真实IP是从报文中哪个字段获取到的?

WAF引擎会根据防护规则确定是否代理转发请求去后端,如果WAF配置了基于IP的规则(比如黑白名单、地理位置、基于IP的精准访问防护规则),那么WAF引擎就会获取真实IP后才能放行或者拦截代理请求。获取真实IP的方法基于以下原则:

  • 在WAF中开启了代理,即添加域名时,“是否已使用代理”选择了“四层代理”“七层代理”,按以下顺序获取源IP:
    1. 优先取“upstream”中配置的源IP头列表,即在域名的基本信息页面配置的“IP标记”,具体的操作请参见配置攻击惩罚的流量标识。如果未取到,执行2

      如果想以TCP连接IP作为客户端IP,“IP标记”应配置为“remote_addr”

    2. 取config中配置的源IP头列表“cdn-src-ip”字段对应的值,未取到,执行3
    3. “x-real-ip”字段的值,未取到,执行4
    4. “x-forwarded-for”字段左边开始第一个公网IP,未取到,执行5
    5. 取WAF看到的TCP连接IP,“remote_addr”字段对应的值。
  • 在WAF中未开启代理,即添加域名时,“是否已使用代理”选择了“无代理”,直接取“remote_ip”字段的值为真实IP。

获取客户端的真实IP的具体方法,详见获取客户端真实IP

分享:

防护日志 所有常见问题

more