全部产品
Search
文档中心

CDN:访问控制常见问题

更新时间:Jan 19, 2024

配置限制访问CDN资源的用户时,如果遇到疑问请参考以下常见问题及处理建议。

IP黑白名单配置时有IP地址数量限制,配置IP地址段算1个还是多个IP地址数?

CDN配置IP黑白名单时,最多可配置约700个IPv6地址,2000个IPv4地址。

1个IP地址段算1个IP地址数配置。

需要在源站将CDN设置为访问白名单,能提供阿里云CDN访问源站的节点IP吗?

如果您的日峰值带宽为1 Gbps以上,请提交工单申请DescribeL2VipsByDomain接口的调用权限,获取指定域名L2节点的IP地址(即回源IP地址列表)。

如果您不满足要求,建议可以在您的源站放开防火墙策略。

为什么IP黑名单中的IP仍可访问资源?

CDN作为服务端,无法控制客户端的访问。配置IP黑名单后,该IP地址请求发送到CDN,会返回错误码403,并且CDN日志中仍会记录该请求记录。查看日志的方法,请参见下载日志

如何获取客户端真实IP地址?

使用CDN之后,可以通过X-Forwarded-For字段获取客户端真实IP地址,具体操作请参见获取客户端真实IP

URL鉴权异常导致访问CDN加速资源返回403错误?

为了保护站点的资源不被非法站点下载盗用,采用URL鉴权方式保护源站资源,在开启阿里云CDN的URL鉴权功能后,访问CDN加速资源返回403错误,通过浏览器的开发者工具,Response Header中查看详细错误信息如下:

报错信息:X-Tengine-Error:denied by req auth: no url arg auth_key

  • 问题原因:没有携带鉴权参数,CDN开启了鉴权,但是实际访问URL中没有携带鉴权参数。

  • 解决方案:如果您需要使用CDN的鉴权功能,请参见URL鉴权,配置URL鉴权。如果您不需要CDN的鉴权功能,登录CDN控制台,关闭鉴权即可。

报错信息:X-Tengine-Error: denied by req auth: expired timestamp

  • 问题原因:鉴权过期,CDN开启了鉴权,并且URL携带了鉴权参数,但是鉴权参数过期。

  • 解决方案:如果鉴权过期,请参见URL鉴权,重新生成鉴权URL。

报错信息:X-Tengine-Error: denied by req auth: invalid md5hash

  • 问题原因:鉴权计算错误,鉴权参数的MD5值计算不正确。

  • 解决方案:建议先使用CDN控制台的地址生成器生成URL来对比自己的鉴权代码,或者参见鉴权代码示例image.png

阿里云CDN URL鉴权和远程鉴权可以同时开启吗?

不可以,阿里CDN URL鉴权和远程鉴权不能同时使用的。

远程鉴权中鉴权服务器支持配置为内网地址吗?

不支持,远程鉴权服务器需要配置为公网地址。

鉴权服务器返回的状态码既不是成功状态码,也不是失败状态码,CDN为什么会直接放行?

为避免因为一些异常情况阻断所有的用户请求,如果鉴权服务器返回的状态码既不是成功状态码,也不是失败状态码,CDN节点默认放过用户请求(例如:鉴权成功状态码设置为200,鉴权服务器返回201时,结果为放过用户请求)。

您可以在控制台设置其他状态码是否放行参数,选择是否放行鉴权服务器返回的其他状态码。

远程鉴权服务器发生故障或宕机时,CDN会直接放行所有请求吗?

不会。远程鉴权服务器发生故障或宕机时,CDN与鉴权服务器之间的数据交互超时后,按照设置的鉴权超时之后的动作参数,选择是否放行鉴权超时的用户请求。