有小伙伴咨询站长,网站使用阿里云CDN加速,网站中有一条链接想屏蔽不让人访问,站长建议他是删除(改名)源站上面的那个地址文件名(但是他又想保留着链接),是否有其他办法呢?抱着喜欢的学习的态度咨询了阿里云技术大佬得到的答案是使用阿里云CDN的边缘脚本(EdgeScript自定义策略)来实现,并提供了脚本代码。简单写个教程记录下阿里云CDN如何使用边缘脚本(EdgeScript自定义策略)屏蔽不想让人访问的链接,同时也给需要同学提供一丢丢帮助。
教学内容
1、登入阿里云CDN控制台 >> 域名管理 >> 找到要设置的域名点击右侧的管理进入设置页面

2、点击 EdgeScript自定义策略 进入设置

3、在模拟环境列表中,点击添加规则 >> 直接添加规则

4、在边缘脚本规则中填写如下信息
4.1、规则名称(这个可以自定义,例如Drop_apk)
4.2、规则代码,填写如下代码
脚本的意思匹配/abc/abc.apk目录下的abc.apk文件返回403
if and($uri, match_re($uri, '/abc/abc.apk')) {
add_rsp_header('X-BLOCKLIST-DEBUG', 'deny')
exit(403)
}4.3、优先级默认0即可,如有多条规则则填写对应优先级
4.4、执行位置,默认即可
4.5、启用状态,点击启用
4.6、添加完如下,点击底部的按钮发布到模拟环境

5、添加完后模拟环境后如下,注意开关是否为启用状态

6、在模拟环境中点击打开调试工具

7、在单请求测试中填写如下参数,然后点击提交测试
Proxy IP和URL(就是要禁用的那条链接地址)
Proxy IP 可通过Ping解析staging.myalicdn.com获取,每次调试限输入一个地址

8、提交测试后返回如下403 Forbidden 表示当前自定义策略是正确的并返回403没有权限

9、以上操作模拟测试没有问题后点击 发布所有规则到生产环境

10、在生产环境列表中可以看到如下规则名称并且启用状态的

11、在浏览器访问刚刚屏蔽的地址提示如下

更多规则可以参考边缘脚本介绍:https://help.aliyun.com/document_detail/126588.html?spm=a2c4g.126565.0.0.12155e38EsyAQ5
OK,教程已结束,记录下以免下次忘记阿里云CDN如何使用边缘脚本(EdgeScript自定义策略)屏蔽不想让人访问的链接,同时也给需要同学提供一丢丢帮助。


