CDN访问异常篇之508错误

本文涉及的产品
.cn 域名,1个 12个月
简介: 508 Loop Detected是回环错误,CDN的源站域名不能走CDN加速,否则可能引起508回环错误。

问题场景

用户使用阿里云CDN加速服务以后出现508错误。我们先来看一下,Http_code 508的定义:
The server terminated an operation because it encountered an infinite loop while processing a request with "Depth: infinity". This status indicates that the entire operation failed。
Source: RFC5842 Section 7.2
也就是说,服务器在处理请求时陷入死循环,此状态表示整个操作失败。

image.png

问题阐述

从上面的CDN的508错误里,可以看到CDN返回的Response Headers里,x-alicdn-da-ups-status响应了508,eagleid响应了两个值。通常情况下,一次通过CDN加速的请求,eagleid只会记录一个值,用于唯一标识这次请求,像这种情况,eagleid记录了多个值,说明这个请求在CDN里循环了。造成这个现象的可能原因一般有如下两种情况:

  • CDN的源站也是在阿里CDN上加速的,比如CDN的源站域名也是用了一个阿里CDN域名。
  • CDN的源站有一些代理的逻辑,会将CDN加速域名的请求代理到另外一个走阿里CDN加速的域名上。

这里请注意,因为数据的走向是:客户端-->CDN-->源站。如果源站也是走了CDN的话,就会变成:客户端-->CDN-->源站-->CDN-->源站...以此循环,这种情况就可能导致回环的情况,出现508。CDN产品本身有限制,要求CDN的源站不能是走阿里CDN加速,这是一种非标准化的操作。

另外还有一种定位方法,可以直接绑定Host到源站去测试,也就是不通过CDN访问,然后看返回的Response headers响应头,是否带有CDN的特殊header头,一般就是看Via头就可以了(阿里云CDN返回的header里会带有Via头),可以参考下图。如果直接访问源站的时候,源站返回的header头却有CDN特有的header头,那就说明源站有请求CDN的逻辑。
image.png

特别注意

CDN添加域名的时候,CDN控制台会做判断,如果用户填写的源站域名是阿里CDN加速域名的话,会直接报错。但是有两种情况目前CDN层面还无法避免,需要用户侧去修改:

  • 用户配置加速域名A的源站域名是域名B,此时域名B未走CDN加速,因此域名A的源站可以配置成功。但是配置成功以后,用户将域名B添加到CDN上做加速。
  • 用户配置的源站不走CDN,但是源站会做一些代理,例如方向代理,把CDN加速域名的请求代理到另外一个CDN加速域名,这种情况CDN也是无法提前监测到的。

image.png

相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
目录
相关文章
|
域名解析 缓存 前端开发
前端性能优化 实际应用cdn 加快静态资源访问
前端性能优化 实际应用cdn 加快静态资源访问
前端性能优化 实际应用cdn 加快静态资源访问
|
18天前
|
存储 人工智能 缓存
AI助理直击要害,从繁复中提炼精华——使用CDN加速访问OSS存储的图片
本案例介绍如何利用AI助理快速实现OSS存储的图片接入CDN,以加速图片访问。通过AI助理提炼关键操作步骤,避免在复杂文档中寻找解决方案。主要步骤包括开通CDN、添加加速域名、配置CNAME等。实测显示,接入CDN后图片加载时间显著缩短,验证了加速效果。此方法大幅提高了操作效率,降低了学习成本。
2782 8
|
6天前
|
缓存 网络安全 数据安全/隐私保护
使用阿里云国际CDN加速后网站无法访问的排查步骤
使用阿里云国际CDN加速后网站无法访问的排查步骤
|
5月前
|
域名解析 缓存 安全
cdn服务器连接异常怎么办
当遇到CDN服务器连接异常时,可采取以下步骤排查:检查CDN配置,包括域名解析和防火墙设置;清空CDN缓存;测试网络连接;确认源服务器状态;更换CDN服务器;等待恢复;联系服务商;检查本地电脑安全;检查程序代码;保持更新和维护。具体解决步骤需根据实际情况调整。
474 0
|
缓存 边缘计算 网络协议
CDN永远的神!成功解决了困惑我多年的GitHub访问太慢问题
我写技术文章画的图片是保存到 GitHub 的,没别的原因,就是因为免费,但是GitHub 访问的速度大家都懂的,访问的速度很慢。 所以我会用 CDN 来加速图片的访问,也就是我的图床的方案是 GitHub + jsdelivr CDN,使用很简单,只需要把域名地址替换一下就行。
|
边缘计算 监控 前端开发
利用阿里云Eventbridge在CDN边缘应用程序中访问日志服务SLS
在Web前端领域,追求极致性能是个永恒的话题。这些年的一些新兴理念都是为了提升站点访问性能而提出,无论是Jamstack技术理念或者或者 ESR (边缘渲染),都是Client侧进行性能优化的基础上,进一步拓展到了网络Infra层面,就是我们现在经常讨论的边缘计算。而阿里云的CDN EdgeRoutine 就是为广大客户提供可自由编程的边缘计算能力,我们可以用他来构建边缘节点的网关应用,来访问静态资源或者后端服务。当这个边缘网关在业务上承担的角色越来越重要的时候,我们就对他内部的业务逻辑产生了可观测的诉求,希望能够记录日志到日志服务上,然而日志服务提供的SDK,在ER的环境中暂时不被支持,这个
328 0
|
存储 CDN
jsdelivr cdn大陆挂了不能访问替代方案
jsdelivr cdn大陆挂了不能访问替代方案
1366 0
jsdelivr cdn大陆挂了不能访问替代方案
|
Web App开发 监控 网络协议
抽丝剥茧定位一个CDN访问慢的案例
源站安全策略将CDN回源IP识别为攻击IP进行拦截,CDN回源504触发重试导致访问时间拉长。
402 1
|
存储 对象存储 CDN
【对象存储OSS/网络分发加速CDN】使用OSS后,如何实现流量访问限制或请求次数的限制
描述使用对象存储OSS后,如何实现流量访问限制或请求次数的限制
2323 2
|
存储 缓存 负载均衡
分布式架构原理--CDN加速静态文件访问
分布式架构原理专题: (演进过程及如何把应用从单机扩展的分布式;CDN加速静态文件访问;系统监控、容灾、存储动态扩容;架构设计及业务驱动分化;CAP\Base理论及其应用)
536 0
分布式架构原理--CDN加速静态文件访问