CLB访问控制通过在监听上配置IP黑白名单,实现对客户端请求的精细化过滤。
创建访问控制策略组
访问控制策略组是IP条目的集合。创建策略组并添加IP条目后,可将其关联到监听以实现黑名单或白名单访问控制。
控制台
前往CLB控制台的访问控制页面,在顶部菜单栏选择目标实例所属地域,然后单击创建访问控制策略组。
在创建访问控制策略组面板,输入策略组名称并选择IP版本(IPv4或IPv6),按需添加IP条目,单击创建。
IPv4实例只能绑定IPv4访问控制策略组,IPv6实例只能绑定IPv6访问控制策略组,请根据CLB实例的IP版本进行选择。
API
调用 CreateAccessControlList 创建访问控制策略组。
添加IP条目
策略组创建完成后,可以继续向其中添加IP条目。
控制台
前往CLB控制台的访问控制页面,单击目标策略组ID进入详情页。通过以下方式添加IP条目:
单个添加:单击添加条目,在对话框输入地址/地址段和备注,单击添加。
批量添加:单击批量添加条目,按以下格式批量输入:
每个条目一行,以回车分隔。
IP地址或IP地址段与备注之间用竖线(|)分隔,例如192.168.1.0/24|备注。
单次最多支持添加50个条目。
添加完成后,可在条目列表中删除或导出条目。
API
调用AddAccessControlListEntry添加IP条目。
调用RemoveAccessControlListEntry删除IP条目。
开启/关闭访问控制
创建策略组并添加IP条目后,将策略组关联到监听以启用访问控制。如果不再需要访问控制,可随时关闭。
无论设置白名单还是黑名单,如果关联的策略组中没有添加任何IP条目,访问控制不会生效,监听将转发全部请求。设置白名单前请确认策略组内已包含需要放行的IP,避免阻断正常业务流量。
一个监听关联多个策略组时,各策略组中的访问控制条目IP不能重复。
控制台
前往CLB控制台的实例管理页面,在顶部菜单栏选择目标实例所属地域,单击目标实例ID。
单击监听页签,找到目标监听,在访问控制列单击启用或关闭。
启用:在对话框选择访问控制方式(白名单:允许特定IP访问负载均衡SLB或黑名单:禁止特定IP访问负载均衡SLB)并选择访问控制策略组,单击保存。
关闭:在确认对话框单击确定。
支持在监听详情页的访问控制区域开启或关闭访问控制。
支持在创建监听时直接开启访问控制。
API
调用创建或修改监听的API(如CreateLoadBalancerHTTPSListener、SetLoadBalancerHTTPSListenerAttribute等)时,通过以下参数配置访问控制:
AclStatus:是否开启访问控制(
on|off)。AclType:访问控制类型(
white:白名单 |black:黑名单)。AclId:绑定的访问控制策略组ID。
常见问题
配了白名单,任意IP仍可访问
原因:策略组未关联到监听(访问控制未开启);或策略组中没有添加任何IP条目(空策略组等同于全部放通)。
解决方案:进入CLB实例的监听页签,确认目标监听的访问控制列显示已开启,并确认关联的策略组中包含IP条目。
配了黑名单,目标IP仍可访问
原因:请求经CDN/WAF等代理转发到CLB,CLB看到的源IP是代理的回源IP而非客户端真实IP,黑名单无法匹配。
解决方案:在前端的代理层(CDN或WAF)配置IP黑名单。如果存在客户端绕过代理直接访问CLB的情况,可在CLB配置访问控制白名单仅允许回源IP段访问。
使用七层监听时,后端Nginx配了allow/deny不生效
原因:经过CLB七层代理后,后端服务器收到的请求来源IP是CLB内网IP(100.64.0.0/10网段),Nginx的allow/deny基于来源IP判断,无法匹配客户端IP。
解决方案:
(推荐)使用CLB访问控制功能,在CLB层直接配置IP黑白名单。
在Nginx中通过X-Forwarded-For请求头获取客户端真实IP,再基于真实IP配置allow/deny规则。配置方法请参见后端服务器通过CLB七层监听获取客户端真实IP。
ECS安全组无法拦截经CLB转发的流量
原因:CLB通过100.64.0.0/10网段与后端ECS通信,该网段流量默认不受ECS安全组入方向规则限制。这是预期行为。
解决方案:如需按客户端IP限制访问,请在CLB层配置访问控制黑白名单,在请求被CLB转发之前进行拦截。
CLB访问控制拦截后客户端收到什么响应
说明:CLB访问控制拦截请求时,直接丢弃请求,不返回任何响应。客户端表现为连接超时。
白名单能否防DDoS
说明:不能。CLB访问控制无法防护DDoS攻击。DDoS攻击的流量在到达访问控制之前已消耗实例带宽资源,严重时会触发黑洞。
建议:使用DDoS防护。
多层代理场景的访问控制
当CLB前存在七层代理时,CLB访问控制只能看到上一跳代理的回源IP,无法识别客户端真实IP,需在正确的层级配置访问控制。以CNAME接入WAF的场景为例(客户端 → CDN → WAF → CLB → ECS),各层的源IP和访问控制建议如下。
云产品接入(透明接入)模式下,系统自动调整底层网络路由,将CLB监听端口的流量引导至WAF进行安全检测,WAF拦截恶意请求后将正常流量转发回源CLB实例。该模式不存在独立的WAF回源IP段,CLB访问控制无需为WAF做额外配置。
层级 | 看到的源IP | 访问控制建议 |
WAF |
| 推荐在此层做IP黑白名单。WAF正确配置后可基于客户端真实IP进行拦截,同时支持地域封禁功能。 |
CLB | WAF的回源IP。 | 在CLB配置白名单,仅允许WAF回源IP段访问,防止攻击者绕过WAF直接访问CLB公网IP。WAF回源IP段可在WAF控制台的接入管理页面查看。 |
后端ECS | CLB内网IP(100.64.0.0/10网段)。 | 需确保ECS主机内部防火墙(如iptables、firewalld)未拦截100.64.0.0/10网段,否则健康检查和请求转发会失败。 |
计费
访问控制功能本身不产生额外费用。CLB实例的计费规则请参见CLB计费概述。
配额
以下配额支持在配额中心申请提升。
限制项 | 配额名称 | 默认上限 | 申请提升 |
一个阿里云账号可配置的访问控制策略组数 | slb_quota_acls_num | 200 | |
每个访问控制策略组可添加的条目数 | slb_quota_acl_entries_num | 300 | |
一个访问控制策略组可关联的监听数 | slb_quota_acl_attached_num | 50 |
以下为固定限制,不支持提升。
限制项 | 上限 |
一个监听可绑定的访问控制策略组数 | 3 |
一个监听关联的所有策略组中,访问控制条目IP总数 | 1000 |