云服务器

由于防盗链异常导致访问CDN返回403错误的解决方法

问题描述

在进行防盗链设置后,访问CDN加速资源,返回403错误。

问题原因

防盗链设置异常或者为空。

解决方案

通过以下操作确认访问CDN加速资源返回403错误的具体原因,根据不同的原因进行相应的处理。

排查问题原因

1.使用curl命令测试访问CDN加速域名。

curl -voa -e "http://ciy.XXX.cn" http://ct.XXX.cn

系统显示类似如下,Request请求的HTTP头带有Referer为cjy.XXX.cn的域名,出现403错误,同时出现具体错误信息为“denied by Referer ACL”,说明是防盗链设置异常。

2.使用curl命令测试访问CDN加速域名。

curl -voa http://ct.XXX.cn

系统显示类似如下,Request请求的HTTP头没有Referer信息,出现403错误,同时出现具体错误信息为“denied by Referer ACL”,说明是防盗链设置为空。

3.通过Chrome浏览器打开CDN加速的一个URL链接,打开开发者工具,显示类似如下,Request请求的HTTP头没有Referer信息,说明是防盗链设置为空。

防盗链设置为异常的解决方法

判断Referer为cjy.XXX.cn的域名与加速域名ct.XXX.cn设置的防盗链是否匹配。登录CDN控制台,单击对应的加速域名右侧的 管理,选择 访问控制 > Refer防盗链 > 修改配置,选择 白名单,确认防盗链设置和请求Referer不匹配,则添加cjy.XXX.cn域名即可。

防盗链设置为空的解决方法

登录CDN控制台,单击对应的加速域名 管理,选择 访问控制 > Refer防盗链 > 修改配置,选择 白名单,勾选 允许通过浏览器地址栏直接访问资源URL。
注:如将防盗链设置不允许为空Referer访问,这样操作,有被盗链的风险。