CDN访问控制,设置IP黑白名单限制访问
CDN访问控制里的IP黑白名单,核心作用是在流量到达源站之前就完成过滤:白名单只放行你指定的IP,黑名单则拒绝指定IP,其余请求正常通过。
下面按准备、操作、避坑、验证的顺序,带你从零完成配置。
先确认你的CDN服务商和操作入口
不同CDN厂商的后台路径差异较大,但逻辑相通。
以主流云厂商为例,通常位于:
- 阿里云CDN:控制台 → 域名管理 → 选择域名 → 访问控制 → IP黑/白名单
- 腾讯云CDN:控制台 → 域名管理 → 选择域名 → 访问控制 → IP黑白名单
- 宝塔面板CDN插件:网站 → CDN → 选择域名 → 访问限制
如果你的CDN服务商没有直接提供IP黑白名单功能,可以借助边缘脚本或WAF规则实现,但本文以标准功能为例。
准备条件:已添加并解析成功的CDN域名,且拥有该域名的配置权限。
设置IP黑白名单的具体步骤
1. 确定要限制的IP范围
先明确你要封禁或放行哪些IP。
常见场景:
- 只允许公司办公网访问:白名单模式,填入公司出口IP,如
203.0.113.0/24 - 拒绝某个恶意IP:黑名单模式,填入
198.51.100.5 - 拒绝某个地区IP段:黑名单模式,填入多个CIDR,如
192.0.2.0/24
注意:CIDR格式表示一个IP段,/24 代表前24位固定,即256个IP。
如果不确定,可以先只填单个IP测试。
2. 在CDN控制台配置规则
以阿里云CDN为例,操作路径如下:
- 登录CDN控制台,进入域名管理。
- 找到目标域名,点击“管理”。
- 左侧导航选择“访问控制”。
- 找到“IP黑/白名单”,点击“修改配置”。
- 选择名单类型:黑名单或白名单。
- 在输入框中填写IP或CIDR,每行一个,支持批量粘贴。
- 点击“确定”保存。
配置示例(白名单模式):
203.0.113.10
203.0.113.0/24
保存后通常立即生效,部分厂商可能有1-2分钟延迟。
3. 验证规则是否生效
用不在名单内的IP访问域名,观察返回状态。
如果返回 403 Forbidden 或自定义拦截页面,说明黑名单生效;
如果白名单模式下,非白名单IP被拒绝,也说明生效。
可以使用在线工具或命令行测试:
curl -I -H "X-Forwarded-For: 198.51.100.5" https://你的域名
如果返回 403,说明该IP已被拦截。
避坑指南:这些细节容易出错
- 白名单模式会拒绝所有未列出的IP,包括你自己。配置前务必先把自己的IP加入白名单,否则可能把自己关在门外。
- CDN回源IP不要误封。如果你同时使用源站防火墙,确保CDN回源IP段不被源站黑名单拦截,否则会导致CDN无法回源。
- IP段格式要正确。CIDR写法如
192.0.2.0/24,不要写成192.0.2.0-192.0.2.255,多数CDN不支持范围写法。 - 规则数量有限制。部分CDN对黑白名单条目数有上限,例如最多100条,超出需合并或使用其他方式。
- 测试时先用单个IP。批量添加前,先加一个IP验证效果,避免误封大量用户。
效果验证与常见疑问
配置完成后,建议从不同网络环境测试:
- 用手机4G/5G访问,确认是否被拦截。
- 用公司网络访问,确认是否正常。
- 查看CDN日志,确认拦截记录。
常见疑问:
问:黑白名单同时配置时,哪个优先级高?
多数CDN厂商白名单优先级高于黑名单,即一个IP同时在两个名单中时,白名单生效。具体以厂商文档为准。
问:CDN的IP黑白名单能防DDoS吗?
不能。IP黑白名单只针对应用层访问控制,DDoS攻击流量通常在更底层被清洗,建议配合高防IP或WAF使用。
问:配置后多久生效?
通常1-2分钟内生效,部分厂商支持立即生效。如果长时间未生效,检查是否保存成功或联系客服。
问:能限制某个国家/地区的IP吗?
部分CDN提供地域封禁功能,与IP黑白名单是独立配置,如有需要可在访问控制中查找“区域封禁”选项。
写在最后
CDN访问控制的IP黑白名单是成本最低、见效最快的限制手段之一。
配置时记住三个关键点:白名单模式先放行自己、CIDR格式要写对、保存后务必实测。
如果你的CDN后台路径与本文不同,以实际控制台显示为准。
遇到拦截异常时,优先检查名单类型和IP格式,再回看避坑部分排查。