Apr
20
2021
访问CDN加速资源返回403状态码
概述
本文主要介绍访问CDN加速资源返回403状态码的解决方法。
详细信息
访问CDN加速的资源返回403状态码解决方法的相关信息如下。
测试源站域名
- 检查CDN的加速域名是否可以访问源站,可以使用修改本地host文件的方式指定访问源站IP,操作步骤如下。
- 验证相同CDN加速的URL,访问源站是否也是403。如果源站访问结果也是403,则说明源站报错,需针对源站进一步审核。
排查CDN节点
- 打开开发者工具,通过Chrome浏览器打开CDN加速的一个URL链接。
-
排查是否开启鉴权,发现鉴权报
X-Tengine-Error:denied by req auth: no url arg auth_key
错误。如果不需要使用鉴权则关闭鉴权。如果需要使用,则检查鉴权的配置中MD5值是否计算错误,鉴权相关配置说明。
-
如果报如下错误,请确认是否开启了CC防护功能。如开启了CC防护功能,您可以将访问者的IP加入IP白名单。
The website is under attack, You have requested too frequently
注:CC防护规则如下。
- 每分钟访问150次,集中访问的URL为同一个,认为是攻击。
- 每分钟访问500次,请求的不是同一个URL,认为是攻击。
- 携带验证码Cookie,每分钟访问100次,认为是攻击。
-
如果源站是OSS源站,报“AccessDenied”错误。您可以找到源Bucket进行以下操作。
- 如果对于源Bucket设置了私有权限,您需要提供签名URL,但不能开启CDN的过滤参数。
- 对于源Bucket不允许Refer为空这种情况,您需要将Bucket的防盗链配置设置成允许为空。
-
确认打开的URL链接不是CDN域名,但应用了CDN的资源。排查是否为Refer调用,如果Response Headers中有
X-Tengine-Error:denied by Referer ACL
,则说明Refer规则设置不正确。这种情况下,您可以先取消CDN的Refer配置,然后排查CDN日志,找到对应的访问日志,找到Refer头并添加白名单。在进行防盗链设置后,如果访问CDN加速资源返回403错误。 -
绑定源站后,经测试仍返回403。在Response Headers中,CDN的L1和L2层缓存都不命中,说明是源站抛出的403错误。这种情况下,您可以排查源站是否存在问题。绑定主机名后,测试是否返回403错误。如果缓存命中率较低。
本公司销售:阿里云、腾讯云、百度云、天翼云、金山大米云、金山企业云盘!可签订合同,开具发票。
我有话说: