您可以通过以下方式排查访问CDN加速资源返回状态码403的具体原因:
  1. 通过Chrome浏览器打开CDN加速的一个具体URL链接,打开开发者工具。
  2. 排查是否开启鉴权,发现鉴权报错X-Tengine-Error:denied by req auth: no url arg auth_key

    这种情况下,您只需关闭鉴权。详细说明,请参见配置URL鉴权

  3. 如果报如下错,请咨询是否开启了CC防护功能。
    The website is under attack, You have requested too frequently
    CC防护规则如下:
    • 每分钟访问150次,URL非常集中,认为是攻击。
    • 每分钟访问500次,不考虑URL,认为是攻击。
    • 携带验证码Cookie,每分钟访问100次,认为是攻击。

    这种情况下,您可以将自己的IP加入IP白名单。

  4. 如果源站是OSS源站,报错AccessDenied。您可以在昆仑上查看源站,找到源bucket。

    • 对于源bucket设置了私有这种情况,您需要提供签名URL,但不能开启CDN的过滤参数。
    • 对于源bucket不允许refer为空这种情况,您需要将bucket的防盗链配置设置成允许为空。
  5. 打开URL链接不是CDN域名,但应用了CDN的资源。排查是否是refer调用,如果Response头中有X-Tengine-Error:denied by Referer ACL,则说明refer规则设置不正确。

    这种情况下,您可以先取消CDN的refer配置,然后排查CDN日志,找到对应的访问日志,找到refer头并添加白名单。

  6. 绑定源站,经测试仍返回403。http response头中,CDN的L1和L2缓存都不命中,说明是源站抛出的403。

    这种情况下,您可以排查源站是否有问题。绑定host后,测试是否返回403。

如问题还未解决,请提交工单