配置阿里云DDoS高防后如何获取真实的请求来源IP

发布时间:2025-02-21 09:30:27   来源:网络 关键词:如何获取真实的请求来源IP

业务接入阿里云DDoS高防后,到达源站的所有业务流量都由DDoS高防转发,源站服务器通常可以通过解析回源请求中的X-Forwarded-For记录或者安装TOA模块,获取客户端的真实IP。本文介绍如何获取真实的请求来源IP。

配置端口接入的业务(非网站业务)

  • 高防IPv4实例:部分场景下您可以通过安装TOA模块,获取真实来源IP。无法安装TOA模块的场景,请您联系技术支持人员。

TCP OPTION字段使用方法:业务四层端口接入后,高防节点和源站经过三次握手,在最后一个ACK数据包的TCP Option中插入了源端口号和源IP等信息,共占8个字节。具体位置如下图所示。

 

  • 其中,Magic Number表示端口号(使用十六进制表示,示例中为c4 06),通过端口号可以定位到IP地址信息(端口号后的连续四个字节,示例中为65 ** ** 85)。通过十六进制转为十进制,可以获得对应的端口号和IP地址(示例中端口为50182,源IP地址为101.***.***.133)。
  • 高防IPv6实例:不支持获取真实来源IP。

 

重要

为避免DDoS高防的回源流量被误拦截,请您在源站放行DDoS高防的回源IP段。如何查询回源IP段,请参见放行DDoS高防回源IP。

 

网络架构为DDoS高防->阿里云ECS:请将DDoS高防的回源IP段,加入ECS安全组的白名单中。具体操作,请参见添加安全组规则。

 

网络架构为DDoS高防->负载均衡SLB->阿里云ECS:请将DDoS高防的回源IP段,添加到负载均衡SLB的访问控制白名单中。

 

配置域名接入的业务(网站业务)

当七层代理服务器(例如DDoS高防)将用户的访问请求转发到后端服务器时,源站看到的请求来源默认是七层代理服务器(例如DDoS高防)的回源IP,而真实的请求来源IP被记录在HTTP头部的X-Forwarded-For字段中,格式为X-Forwarded-For: 用户真实IP, 高防代理IP。

如果访问请求到后端服务器间经过了一台以上代理服务器(例如经过WAF、CDN等代理服务器),则HTTP头部的X-Forwarded-For字段记录了真实的请求来源IP和所有经过的代理服务器IP,格式为X-Forwarded-For: 用户真实IP, 代理服务器1-IP, 代理服务器2-IP, 代理服务器3-IP, …。

因此,常见的Web应用服务器都可以通过X-Forwarded-For字段的内容获取真实的请求来源IP。

 

猜你喜欢
最新文章