注意:说明:
注意:若你参照以下排障指南仍然无法解决问题,你可以 联系我们 进行排查。为了方便定位,请你提供 EO-LOG-UUID 信息。若没有,请提供以下详细信息:
一、HTTP 400
1. 含义:服务器因某些被认为是客户端错误的原因(例如,请求语法错误、无效请求消息格式或者欺骗性请求路由),而无法或不会处理该请求。
2. 可能的原因及解决思路:
·源站响应:直接访问源站测试,若源站响应 400,则修改源站配置或修改客户端请求行为以获取正确响应。
·EdgeOne 节点响应:
·请检查请求方法是否在 EdgeOne 支持的范围内,非以下请求方法,EdgeOne 节点将直接响应 400 状态码。
GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT、OPTIONS、PATCH、COPY、LOCK、MKCOL、MOVE、PROPFIND、PROPPATCH、UNLOCK。
·协议格式错误,如使用 443 端口访问 HTTP。
·HTTP 请求不符合 RFC 规范。
二、HTTP 403
1. 含义:服务器因某些被认为是客户端错误的原因(例如,请求语法错误、无效请求消息格式或者欺骗性请求路由),而无法或不会处理该请求。
2. 可能的原因及解决思路:
·源站响应:直接访问源站测试,若源站响应 403,则修改源站配置或修改客户端请求行为以获取正确响应。
·EdgeOne 节点响应:常见的原因是未通过防盗链校验。
·请检查是否在规则引擎配置了 HTTP 应答,若有,看是否命中了如 Referer 黑白名单、IP 黑白名单、User-Agent 黑白名单等基础访问控制。
·请检查是否在规则引擎配置了 Token 鉴权,若有,核对客户端请求的 URL 是否时间戳过期或 MD5 加密串计算错误。
·请检查是否通过边缘函数配置了 远程鉴权,若有,核对客户端请求的 URL 是否不符合鉴权服务器的校验放行规则。
三、HTTP 416
1. 含义:服务器无法处理所请求的数据区间。最常见的情况是所请求的数据区间不在文件范围之内,
2. 可能的原因及解决思路:
·源站响应:直接访问源站测试,若源站响应 416,则修改源站配置或修改客户端请求行为以获取正确响应。
·EdgeOne 节点响应:
·异常的 range 范围,如:rangeStart < 0、rangeStart > rangeEnd、rangeStart > FileSize。
·客户端请求的 range 头部不标准。如请求 Range: Bytes=0-1023,而非 Range: bytes=0-1023。
四、HTTP 418
1. 含义:一般服务器使用这个响应来处理它们不想处理的请求。
2. 可能的原因及解决思路:
·源站响应:直接访问源站测试,若源站响应 418,则修改源站配置或修改客户端请求行为以获取正确响应。
·EdgeOne 节点响应:对于接入 EdgeOne 的域名,系统会自动为域名分配服务节点,且对应的节点均会下发该域名的配置文件,其中文件内容取决于域名的配置,如源站、缓存、头部等。当请求到 EdgeOne 节点时,节点会读取域名的配置文件,当发现配置文件不存在时,则响应 418 状态码。
例如:客户端请求已接入 EdgeOne 的域名http://example.com/test.jpg,该域名的请求配置在节点 1.1.1.1、1.1.1.2 上均有相关配置,则当域名请求到这两个节点时节点会读取域名 example.com 的置文件,成功响应,如果请求到节点 2.2.2.2 上时,则会响应 418 状态码。请检查域名是否绑定了非 example.com 域名的服务节点,CNAME 配置是否正确,若检查无问题,请 联系我们 处理。
五、HTTP 423
1. 含义:表示 "Locked"(已锁定),在接入 EdgeOne 的场景下,一般表示触发请求回环。
2. 可能的原因及解决思路:
·源站响应:直接访问源站测试,若源站响应 423,则修改源站配置或修改客户端请求行为以获取正确响应。
·EdgeOne 节点响应:触发请求回环,即 CDN-Loop 头部的 Loops 数值 ≥ 16,详情请参见 CDN-Loop。一般常见于接入 EO 的加速域名,源站也设置为已接入 EO 或 CDN 加速的域名。
六、HTTP 520
1. 含义:EdgeOne 自定义的状态码。节点与源站 TCP 建连成功后,向源站发起 HTTP 请求,但源站直接发送 RST 包,则节点响应客户端 520 状态码。
2. 可能的原因及解决思路:
源站服务异常:直接访问源站测试并抓包,查看源站针对 HTTP 请求是否响应 RST 包,可能是源站防火墙或自身服务异常导致。
七、HTTP 521
1. 含义:EdgeOne 自定义的状态码。节点请求到源站,在 TCP 建连阶段,源站直接发送 RST 包,则节点响应客户端 521 状态码。
2. 可能的原因及解决思路:
源站服务异常:直接访问源站测试,可使用 curl 或 telnet 等命令工具,查看 TCP 连接是否能建连,通常是源站的某些端口未对公网开放或源站节点网络问题。
八、HTTP 522
1. 含义:EdgeOne 自定义的状态码。节点请求到源站,在 TCP 建连阶段,源站一直没有响应导致节点超时,则节点响应客户端 522 状态码。
2. 可能的原因及解决思路:
源站服务异常:直接访问源站测试,可使用 curl 或 telnet 等命令工具,查看 TCP 连接是否能建连,通常是源站的某些端口未对公网开放或源站节点网络问题。
九、HTTP 523
1. 含义:EdgeOne 自定义的状态码。若域名配置的源站为域名,则节点回源时,需要解析域名获取源站服务器 IP,若解析失败,则节点无法回源,响应客户端 523 状态码。
2. 可能的原因及解决思路:
·尝试 dig 解析源站域名,确认是否能正常解析。
·若源站域名能正常解析,请 联系我们 处理。
十、HTTP 524
1. 含义:EdgeOne 自定义的状态码。节点与源站建连成功后,向源站发起请求,源站一直没有响应导致节点超时,则节点响应客户端 524 状态码。
2. 可能的原因及解决思路:
源站服务异常:直接访问源站测试,查看针对 HTTP 请求是否有响应,若源站正常响应,可以尝试调整 回源超时时间。如果仍然有问题,请 联系我们 处理。
十一、HTTP 525
1. 含义:EdgeOne 自定义的状态码。若回源协议为 HTTPS,则节点回源时需要与源站进行 SSL 握手,若握手失败,则节点响应客户端 525 状态码。
2. 可能的原因及解决思路:
·请检查是否域名回源协议配置为 HTTPS,但源站没有部署证书。若是,可在域名管理处将回源协议修改为 HTTP,或者在源站部署对应域名的证书。
·节点和源站 SSL 握手时由于网络原因出现丢包。