Resources
  • 动态与公告
    • 产品动态
    • 安全公告
      • 关于针对 HTTP/2 协议漏洞的 DDoS 攻击防护
    • 产品公告
      • Notice regarding the addition of TrustAsia free certificate issuance source
      • [Tencent Cloud EdgeOne] Impact of Root Certificate Changes from Let's Encrypt
      • [Tencent Cloud EdgeOne] NS Access Mode Upgrade Announcement
      • [Tencent Cloud EdgeOne] VAU Unit Change Notification
      • EdgeOne 控制台升级说明
      • 【腾讯云 EdgeOne】云 API 变更通知
  • 相关协议
    • 服务等级协议
  • TEO 政策
    • 隐私政策
    • 数据处理和安全协议
  • 联系我们
  • 词汇表
  • 常见问题
    • 异常状态码参考
    • 产品特性相关问题
    • 域名服务相关问题
    • 站点加速相关问题
    • 数据与日志相关问题
    • 安全防护相关问题
    • Troubleshooting Guide for EdgeOne 4XX/5XX Status Codes

Troubleshooting Guide for EdgeOne 4XX/5XX Status Codes

在接入 EdegOne 后,如果您的业务请求出现 4XX/5XX 状态码,您可以参照如下的常见原因和解决思路进行排查。
说明:
若您参照以下排障指南仍然无法解决问题,您可以 联系我们 进行排查。为了方便定位,请您提供 EO-LOG-UUID 信息。若没有,请提供以下详细信息:
用户 IP、EdgeOne 节点 IP;
特定的 4XX、5XX 错误代码和消息;
发生 4XX、5XX 错误的时间和时区;
导致 HTTP 4XX、5XX 错误的 URL(例如https://www.example.com/images/icons/image1.png:)。

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.11.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 握手时由于网络原因出现丢包。
回源证书合法性校验不通过,目前 EdgeOne 默认会校验证书有效期。