区域访问控制
如果您因为业务需求,需要限制某些地理位置的用户访问,可以通过区域访问控制功能实现。
适用场景
当您的业务因为某些地方性法规而无法对当地用户放开访问或者因业务原因不能对某些区域的用户开放时,可以使用区域访问控制来达到目的。CDN通过识别客户端IP来判断用户访问来源,工作原理如下:
- 您的域名www.example.com业务范围不包含W区域,并且在CDN控制台为W区域配置了黑名单。
- CDN收到一个来自W区域的IP请求访问www.example.com,DNS将该请求解析至W区域的某个CDN节点。
- 节点检测当前IP没有权限下载您域名下的资源。
- CDN向该用户返回HTTP 状态代码 403 (Forbidden)。
注意事项
- 最多配置20条规则。
- 同一资源同时配置了黑白名单,如果用户访问该资源时黑白名单都命中,则黑名单生效,返回403状态码。
- 同一资源同时配置了黑白名单,如果用户访问该资源时黑白名单都未命中,结果为封禁,返回403状态码。
- 客户端请求命中黑名单被拦截时,消耗了节点资源,因此会产生少量流量/带宽费用,全站加速的域名还会产生请求数费用。
- 华为云会定期更新IP地址库,部分未在地址库的IP将无法识别到所属位置。如果CDN无法识别用户所在位置,将采取放行策略,返回对应的资源给用户。
- 如果您的域名接入了边缘安全服务,且两个服务同时配置了区域访问控制,则区域访问控制规则的执行顺序为“CDN->边缘安全”。
操作步骤
- 登录华为云控制台,在控制台首页中选择“ CDN与智能边缘 > 内容分发网络 CDN”,进入CDN控制台。
- 在左侧菜单栏中,选择 。
- 在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
- 选择“访问控制”页签。
- 在区域访问控制模块,单击“添加”,系统弹出“添加区域访问控制”对话框。
图1 添加区域访问控制
表1 参数详情 参数
说明
示例
规则类型
黑名单:如果匹配到黑名单规则,则黑名单所选区域内的用户将无法访问当前资源,返回403状态码。
白名单:白名单所选区域以外的用户均无法访问当前资源,返回403状态码。
黑名单
生效类型
所有文件:所有文件均遵循配置的规则。
目录路径:指定目录路径的资源遵循配置的规则。
全路径:指定路径的资源遵循配置的规则。
所有文件
生效规则
目录路径:- 用“/”作为首字符,多个用“,”分隔。
- 输入的规则总数不超过100个。
- 不支持通配符“*”。
全路径:- 用“/”或“*”作为首字符,支持通配符“*”匹配。
- 通配符“*”不能连续出现。
- 通配符“*”的个数不超过2个。
- 多个用“,”分隔,输入的规则总数不超过100个。
说明:
- URI中如果含有中文,请同时输入中文和转码后的URI,例如路径为“/test/测试”时需输入:/test/测试,/test/%E6%B5%8B%E8%AF%95。
- 不允许配置两条完全一样的白名单或黑名单规则。
- 仅允许配置一条生效类型为“所有文件”的规则。
/test/folder01,/test/folder02
生效区域
配置的规则适用的区域,即:指定区域的人不能访问(黑名单),指定区域的人能访问(白名单),支持设置的区域详见表2。
中国大陆
例外IP
配置指定IP不执行当前规则。例如:配置了一条“生效类型”为“所有文件”的黑名单,例外IP为0.0.0.0,该IP地址的请求不执行当前黑名单规则,请求结果为放行。
- 支持配置IP地址和IP&掩码格式的网段,网段格式为“IP/掩码”。
- 最多配置500个IP,多个IP地址使用","分隔。
- 不支持带通配符的地址,如192.168.0.*。
- 支持IPv6。
0.0.0.0
- 配置相关信息,单击“确定”完成配置。
支持的区域
大区 |
具体区域 |
---|---|
亚洲 |
中国大陆、中国香港、中国澳门、中国台湾、阿拉伯联合酋长国、阿富汗、亚美尼亚、阿塞拜疆、孟加拉国、巴林、不丹、格鲁吉亚、印度尼西亚、以色列、印度、伊拉克、约旦、日本、吉尔吉斯斯坦、柬埔寨、大韩民国、科威特、哈萨克斯坦、老挝人民民主共和国、黎巴嫩、斯里兰卡、缅甸、蒙古、马尔代夫、马来西亚、尼泊尔、阿曼、菲律宾、巴基斯坦、巴勒斯坦、卡塔尔、沙特阿拉伯、新加坡、泰国、塔吉克斯坦、东帝汶、土库曼斯坦、土耳其、乌兹别克斯坦、越南、也门 |
欧洲 |
安道尔、阿尔巴尼亚、奥地利、波斯尼亚和黑塞哥维那、比利时、保加利亚、白俄罗斯、瑞士、塞浦路斯、捷克、丹麦、爱沙尼亚、西班牙、芬兰、法罗群岛、法国、大不列颠及北爱尔兰联合王国、希腊、克罗地亚、匈牙利、爱尔兰、冰岛、意大利、立陶宛、卢森堡、拉脱维亚、摩纳哥、摩尔多瓦共和国、黑山、北马其顿、马耳他、荷兰、挪威、波兰、葡萄牙、罗马尼亚、塞尔维亚、瑞典、斯洛文尼亚、斯洛伐克、圣马力诺 |
非洲 |
安哥拉、布基纳法索、布隆迪、贝宁、博茨瓦纳、刚果民主共和国、中非共和国、刚果、科特迪瓦、喀麦隆、吉布提、阿尔及利亚、埃及、厄立特里亚、埃塞俄比亚、加蓬、加纳、冈比亚、几内亚、赤道几内亚、几内亚比绍、肯尼亚、科摩罗、利比里亚、莱索托、利比亚、摩洛哥、马达加斯加、马里、毛里塔尼亚、毛里求斯、马拉维、莫桑比克、纳米比亚、尼日尔、尼日利亚、卢旺达、塞舌尔、塞拉利昂、塞内加尔、索马里、南苏丹、圣多美和普林西比、斯威士兰、乍得、多哥、突尼斯、坦桑尼亚联合共和国、乌干达、南非、赞比亚、津巴布韦 |
北美洲 |
安提瓜和巴布达、巴巴多斯、巴哈马、伯利兹、加拿大、哥斯达黎加、多米尼克、多米尼加共和国、格林纳达、洪都拉斯、海地、牙买加、圣基茨和尼维斯、圣卢西亚、墨西哥、尼加拉瓜、巴拿马、萨尔瓦多、特立尼达和多巴哥、美利坚合众国、圣文森特和格林纳丁斯 |
大洋洲 |
澳大利亚、库克群岛、斐济、密克罗尼西亚、基里巴斯、马绍尔群岛、瑙鲁、纽埃、新西兰、巴布亚新几内亚、所罗门群岛、托克劳、汤加、图瓦卢、瓦努阿图、萨摩亚 |
南美洲 |
阿根廷、玻利维亚、巴西、智利、哥伦比亚、厄瓜多尔、圭亚那、秘鲁、巴拉圭、苏里南、委内瑞拉 |
配置示例
示例1:域名www.example.com配置了如下区域访问控制规则。
配置效果:
- 由于黑名单优先,所以此配置的结果是黑名单生效。中国大陆用户访问“/test”文件夹下的资源(例:www.example.com/test/abc.jpg)时命中黑名单,返回403状态码。
- 位于中国香港的用户访问“/test”文件夹下的资源(例:www.example.com/test/abc.jpg)时黑白名单均未命中,此时默认是拒绝访问,返回403状态码。
示例2:域名www.example.com配置了如下区域访问控制规则。
配置效果:
- 位于中国香港的用户访问“/test”文件夹下的资源(例:www.example.com/test/abc.jpg)时命中黑名单,返回403状态码。
- 位于中国大陆的用户访问“/test”文件夹下的资源(例:www.example.com/test/abc.jpg)时命中白名单,返回对应的资源给用户。
- 位于中国澳门的用户访问“/test”文件夹下的资源(例:www.example.com/test/abc.jpg)时黑白名单均未命中,此时默认是拒绝访问,返回403状态码。
示例3:域名www.example.com配置了如下区域访问控制规则。
配置效果:
- 位于中国香港的用户访问“/test/abc”文件夹下的资源(例:www.example.com/test/abc/1.jpg)时命中黑名单,返回403状态码。
- 位于中国大陆的用户访问“/test”文件夹下的资源(例:www.example.com/test/cat.jpg)时命中白名单,返回对应的资源给用户。
- 位于中国香港的用户访问“/test”文件夹下的资源(例:www.example.com/test/cat.jpg)时黑白名单均未命中,此时默认是拒绝访问,返回403状态码。
- 位于中国澳门的用户访问“/test”文件夹下的资源(例:www.example.com/test/cat.jpg)时黑白名单均未命中,此时默认是拒绝访问,返回403状态码。