通过配置IP黑白名单过滤用户请求,拦截或允许特定IP的访问,可以有效限制访问来源,解决恶意IP盗刷、攻击等问题。
注意事项
该功能默认关闭,IP黑名单与IP白名单二选一,不可同时配置。
最多可配置约700个IPv6地址或者2000个IPv4地址。
配置IP黑名单后,黑名单中的IP请求仍可访问到CDN节点,但会被CDN节点拒绝并返回403状态码,加速域名的日志中仍会记录黑名单中这些IP的请求记录。
由于IP黑白名单功能采用的是七层HTTP协议的IP识别技术,因此在恶意请求被CDN节点拦截的同时,会产生少量的流量费用,如果客户端使用HTTPS协议访问,还会产生HTTPS请求数费用(因为拦截恶意IP的时候,也同时消耗了CDN节点的处理资源)。
少数ISP在特定区域可能会分配私有IP地址给用户端,导致CDN节点接收到的是用户的私有IP地址。
说明私有IP地址范围有以下三个:
A类私有IP地址:10.0.0.0~10.255.255.255,子网掩码:10.0.0.0/8
B类私有IP地址:172.16.0.0~172.31.255.255,子网掩码:172.16.0.0/12
C类私有IP地址:192.168.0.0~192.168.255.255,子网掩码:192.168.0.0/16
IP地址校验模式
客户端与CDN节点建立连接时,是否经过代理服务器,会影响客户端真实IP、客户端与CDN节点建连IP。假设客户端真实IP为10.10.10.10
,代理服务器IP为192.168.0.1
。
没有经过代理服务器:
用户请求中x-forwarded-for请求头值:
10.10.10.10
。客户端真实IP(即x-forwarded-for请求头携带的第一个IP)=客户端与CDN节点建连IP=
10.10.10.10
。
经过代理服务器:
用户请求中x-forwarded-for请求头值:
10.10.10.10,192.168.0.1
。客户端真实IP(即x-forwarded-for请求头携带的第一个IP)=
10.10.10.10
。客户端与CDN节点建连IP=代理服务器IP=
192.168.0.1
。客户端真实IP(即x-forwarded-for请求头携带的第一个IP)≠客户端与CDN节点建连IP。
对于不同的IP地址校验对象,视频点播的IP黑白名单功能支持三种IP地址校验模式。
IP地址校验模式 | 说明 |
使用用户的x-forwarded-for请求头作为判断依据 | 该模式为默认模式。该模式校验的是用户请求中x-forwarded-for请求头携带的左边第一个IP,这个IP对应客户端真实IP。 如果客户端与CDN节点之间有经过代理服务器,那么客户端与CDN节点建连使用的IP为代理服务器的IP,这种情况下使用“使用用户的x-forwarded-for请求头作为判断依据”模式进行IP黑白名单访问控制可能会存在不准确的情况。 |
使用真实建连IP作为判断依据 | 该模式校验的是客户端与CDN节点之间建连使用的IP。 |
同时使用x-forwarded-for和真实建连IP作为判断依据 | 同时校验以下两个IP地址信息:
|
操作步骤
- 登录视频点播控制台。
在左侧导航栏选择配置管理 > 分发加速配置 > 域名管理,进入到域名管理页面。
在域名管理页面,找到目标域名,单击操作列的配置。
在指定域名的左侧导航栏,单击访问控制。
在IP黑/白名单页签,单击修改配置。
根据界面提示,配置IP黑名单或IP白名单。
参数
说明
名单类型
黑名单
黑名单内的IP无法访问加速域名下的所有资源。
白名单
只有白名单内的IP能访问加速域名下的资源,白名单以外的IP均无法访问。
规则
输入IP段(不可重复,例如:
192.168.0.0/24
)或IP地址(例如192.168.0.1
)。支持IPv6地址、IPv4地址,配置多个IP时使用换行符分隔。说明规则输入框最大支持输入30 KB长度的字符,考虑到IP地址的字符串长度有长有短,因此最多大约可配置700个IPv6地址或者2000个IPv4地址。
IPv6:最多可配置约700个IPv6地址,IP黑名单和白名单均支持IPv6地址(地址中的英文字母不区分大小写,即支持全大写、全小写或大小写混合)。例如:
FC00:AA3:0:23:3:300:300A:1234
或fc00:0aa3:0000:0023:0003:0300:300a:1234
。IPv6地址不支持::
缩写格式,例如:不支持FC00:0AA3::0023:0003:0300:300A:1234
。支持输入IP段,例如:FC00:0AA3:0000:0000:0000:0000:0000:0000/48
。IPv4:最多可配置约2000个IPv4地址。
IP地址字符串的总长度不能超过30 KB。
说明规则内容不支持输入通配网络地址
0.0.0.0/0
。如果需要表示全量IPv4地址,可以用以下两个子网来表示:
0.0.0.0/1
128.0.0.0/1
如果需要表示全量IPv6地址,可以用以下两个子网来表示:
0000:0000:0000:0000:0000:0000:0000:0000/1
8000:0000:0000:0000:0000:0000:0000:0000/1
IP规则
支持选择以下三种规则:
使用用户的x-forwarded-for请求头作为判断依据
使用真实建连IP作为判断依据
同时使用x-forwarded-for和真实建连IP作为判断依据
如果x-forwarded-for请求头没有携带IP的话,将使用建联IP。
单击确定,完成配置。
配置示例
白名单
规则:
192.168.2.0/24
结果:只有客户端IP在
192.168.2.1
~192.168.2.254
地址范围(包含192.168.2.1
和192.168.2.254
)时,才能访问该加速域名下的资源。黑名单
规则:
192.168.0.1
结果:当客户端IP为
192.168.0.1
时,禁止访问该加速域名下的所有资源。
常见问题
相关API
BatchSetVodDomainConfigs - 批量配置域名:调用BatchSetVodDomainConfigs进行批量域名配置,通过设置ip_black_list_set和ip_allow_list_set分别指定IP黑名单和IP白名单。