回源常见问题

更新时间:
复制为 MD 格式

回源指您通过客户端请求访问资源时,如果CDN节点上未缓存该资源,或者您部署预热任务给CDN节点时,CDN节点会回源站获取资源。本文为您介绍关于回源的常见问题。

配置回源协议为HTTPS后,无法访问网站,提示502报错时如何解决?

  • 检查源站是否支持HTTPS访问㨁在浏览器中直接使用 https://源站域名 访问,确认源站能否正常响应。如果源站不支持HTTPS,请将回源协议改为HTTP。

  • 检查回源端口是否与源站HTTPS监听端口一致㨁默认回源端口为443,如果源站使用自定义HTTPS端口,请在静态协议跟随回源对话框中配置对应的HTTPS端口(1~65535)。

  • 检查回源HOST和回源SNI配置㨁如果源站IP绑定了多个域名,请配置回源SNI指明所请求的具体域名,同时将回源HOST设置为源站域名。

  • 检查源站SSL证书有效性㨁如果源站SSL证书已过期或证书与域名不匹配,CDN节点校验失败会返回502错误。请更新源站SSL证书。

  • 更详细的排查指南请参考配置回源协议文档的「常见问题」章节。

源站配置HTTPHTTPS跳转后,CDN回源出现重定向循环如何解决?

问题现象㨁网站访问出现"重定向次数过多"或"ERR_TOO_MANY_REDIRECTS"错误。

原因㨁源站配置了HTTPHTTPS的强制跳转(返回301),而CDN使用HTTP协议回源。CDN收到301响应后再次以HTTP回源,形成无限重定向循环。

解决方案

  1. CDN回源端口修改为443,回源协议设置为HTTPS。

  2. 如果源站有多域名监听,同时配置回源SNI和回源HOST为加速域名或源站域名。

  3. 执行重定向次数过多的解决方案中的缓存清理步骤。

CDN通过IP回源至配置了SSL证书且80重定向到443的负载均衡(CLB)时,是否会有证书问题或影响?

CDN回源使用CLB公网IPCLB配置了80重定向到443,建议将CDN的回源协议设为HTTP(回源到CLB80端口),以避免证书校验问题。若必须使用HTTPS回源,需确保开启回源SNI并配置证书Common Name白名单,否则可能因SNI缺失或证书域名不匹配导致校验失败。

Common Name白名单校验的是什么?

发生回源时,将校验CDN节点回源请求中SNI和源站返回证书的CommonName值,两者需一致方可成功回源。

如果您未修改回源SNI,CDN节点回源请求携带的Host值默认是加速域名,所以校验的是加速域名的证书的Common Name。

如何在HTTPS回源时配置自定义端口?

  1. 登录CDN控制台

  2. 在左侧导航栏,单击域名管理

  3. 域名管理页面,找到目标域名,单击操作列的管理

  4. 在指定域名的左侧导航栏,单击回源配置

  5. 回源协议区域,打开回源协议开关。

  6. 单击修改配置

  7. 根据需要配置自定义端口即可。

CDN配置开启HTTPS功能后回源时使用的协议是HTTP还是HTTPS?

CDN上配置HTTPS证书与回源协议无关,默认情况下回源协议以配置源站中设置的回源端口为准:

  • 回源端口设置为443:以HTTPS协议回源。

  • 回源端口设置为80或其他:以HTTP协议回源。

如果您需要指定回源协议,可根据需要配置回源协议

加速域名启用CDN后,源站80端口仍在监听,是否需要保留?关闭后会不会影响CDN服务?

关闭源站80端口前,请确认以下两点:

  • 该加速域名的回源协议已设置为HTTPS(使用443端口)。

  • 源站上无其他业务进程或服务依赖80端口(如Web服务器、HTTP跳转等)。

如果回源协议仍为HTTP或"跟随客户端",关闭80端口将导致CDN回源失败。您可以在域名管理 >目标加速域名> 回源配置中确认当前回源协议。

配置回源协议为「跟随」时,源站不支持HTTPS导致访问失败如何处理?

原因㨁回源协议设置为「跟随」时,客户端使用HTTPS访问CDN,CDN会以HTTPS协议回源。如果源站不支持HTTPS,回源请求失败。

解决方案

  • 方式一㨁将回源协议从「跟随」改为「HTTP」,CDN始终以HTTP协议回源。

  • 方式二㨁为源站配置SSL证书,确保源站支持HTTPS访问。

详细说明请参考配置回源协议文档。

CDN访问OSS资源提示You have no right to access this object because of bucket acl.错误如何解决?

OSSBucket被配置为私有模式(可以起到访问鉴权的作用,避免非授权的请求盗刷流量),该情况下需要给加速域名开启OSS私有Bucket回源功能,可以解决该报错,实现CDN加速OSS私有Bucket资源。

CDN访问OSS资源提示This request is forbidden by kms.错误如何解决?

如果您的OSS Bucket中使用了密钥管理服务KMS(Key Management Service)进行加密,您需要为CDN的回源角色额外授予使用KMS密钥的权限,否则CDN将无法解密和访问这些文件,出现This request is forbidden by kms.报错。

  1. 登录RAM控制台

  2. 在左侧导航栏,选择

  3. 角色名称列表下,找到AliyunCDNAccessingPrivateOSSRole角色。

  4. 单击新增授权授权主体会自动填入。

  5. 权限策略下选择系统策略,搜索AliyunKMSCryptoUserAccess,并单击AliyunKMSCryptoUserAccess,将其添加到已选择权限策略区域框中。

  6. 单击确认新增授权,显示已完成

  7. 单击关闭

    image

  8. 使用刷新和预热资源功能,待刷新任务完成后,重新访问资源。

如何使用STS实现跨账号回源OSS私有Bucket?

默认情况下,CDN使用STS临时安全令牌的方式,只支持回源到同一个账号下的OSS私有Bucket,如果您期望使用STS临时安全令牌实现跨账号回源OSS私有Bucket,可以在OSS上添加Bucket授权策略来实现,配置方式如下:

  1. 登录私有Bucket所在的阿里云账号,进入OSS控制台

  2. 依次单击Bucket 列表 > 目标Bucket。权限控制 > Bucket 授权策略页签中单击新增授权

    image

  3. 授权用户选择其他账号,填写arn:sts:uiduid需要填写CDN所在账号的账号ID),授权操作选择简单设置 > 只读(不包含ListObject操作),随后单击确定完成配置。

    image

  4. 添加成功之后,可以在Bucket 授权策略页签中看到授权信息。

    image

CDN配置CNAME后回源失败如何排查?

为加速域名添加CNAME记录后,如果CDN节点回源失败,通常由DNS解析异常、源站配置问题或CDN回源参数设置不当导致,可按以下步骤排查:

  1. 验证CNAME解析是否生效

    执行ping 加速域名nslookup 加速域名,如果返回结果包含.*.kunlun*.com,则说明CNAME解析已生效。如果解析结果仍为源站IP或未解析成功,请检查DNS记录配置是否正确。

  2. 检查CNAME记录类型和冲突

    CNAME记录的类型必须为CNAME,如果配置为其他记录类型会导致解析失败。同一主机记录不能同时存在CNAME记录和其他类型的记录,需要删除冲突记录后重新配置。

  3. 验证源站可达性

    使用curl -I http://源站IP或域名检查源站是否能够正常响应,确保源站服务正常运行且可被外部访问。

  4. 检查源站回源IP白名单

    CDN节点使用特定IP段进行回源。如果源站配置了IP白名单或防火墙规则,需要将CDN回源IP段加入白名单,否则CDN回源请求会被源站拒绝。

  5. 检查回源协议和端口配置

    确认CDN配置的回源协议(HTTPHTTPS)与源站支持的协议一致,回源端口与源站实际监听端口匹配。如果源站使用HTTPS且使用非标准端口,需要在CDN中配置自定义回源端口。

CDN加速域名响应头显示ServerAliyunOSS是否正常?

不正常。这说明请求未命中CDN节点,而是直接访问了OSS源站。请检查并修正DNS解析配置,确保域名只解析到CDN提供的CNAME记录。

CDN回源返回5XX错误时,后续访问是返回错误页面还是重新向源站请求?

CDN默认不会缓存5XX状态码的请求。因此,再次发起请求时,CDN会重新向源站发起请求,而不是直接返回之前的错误页面。