为Web业务部署DDoS防护后您可以参照夲文介绍的方法,获取客户端真实IP
四层接入(非网站防护)
按照以下不同的部署配置场景,选择适合您的源站获取客户端IP方式
- 负载均衡SLB访问控制设置白名单中必须添加
- 如使用UDP端口转发,源站ECS将无法获取真实客戶端IP
- 2018年10月后创建的ECS实例,默认支持获取客户端真实IP即在源站ECS服务器上看到的客户端IP就是真实访问源IP。
- 2018年10月前创建的ECS实例默认情况下無法获取客户端真实IP,您需提交工单申请开通相关配置
- 高防 > 阿里ddos攻击防御云外服务器
部分情况下支持获取客户端真实IP,具体方法参考
通过TCP端ロ转发流量的情况,您无需做任何改动源站服务器上看到的客户端IP就是真实的客户端IP。同时ECS的安全组配置对象也可以针对真实的客户端IP进行设置。
说明 如使用UDP端口转发源站ECS将无法获取真实客户端IP。
默认支持获取客户端真实IP
通过TCP端口转发流量的情况,您无需做任何改動源站服务器上看到的客户端IP就是真实的客户端IP。
當一个七层代理服务器(如高防IP)把用户的访问请求转到后端服务器时,源站默认看到的是这个七层代理服务器(如高防IP)的回源IP而真實的客户端IP会被七层代理服务器放在HTTP头部的X-Forwareded-For字段,格式如下:X-Forwarded-For: 用户真实IP, 高防代理IP
经过多层代理服务器,请求用户的真实IP处于第一个位置而后面包含所有经过的中间代理服务器的IP。因此只要获取HTTP头部的X-Forwarded-For字段的内容即可。
- 添加完成后执行以下命令重启Apache服务,使配置生效
说明 其中 RPAFproxy_ips ip地址
不是负载均衡提供的公网IP。具体IP可參考Apache的日志通常会有两个IP地址。