5xx 服务器错误

概述

通常,5xx 错误代码表示服务器端(无论是代理还是源主机)发生了错误或无法解析请求。服务器能够检测到错误,因此不会将异常的响应结果返回给客户端。 

这些错误代码可用作对任何请求方法的响应。

源站应包括一条由含有user-agent头字段的解释,但 HEAD 请求除外。源服务器通常会返回以下错误:

Cloudflare 特定的状态代码包括:

500 Internal Server Error (RFC7231)

源 Web 服务器遇到意外情况,无法满足请求。这个错误说明源 Web 服务器完成请求时受到阻止,并且未在源站捕获任何内部错误的消息。

在极少数情况下, Cloudflare 服务器或内部 DNS 超时会发生异常情况,Cloudflare 将返回 500 错误,页面显示“Cloudflare”。如果您没有看到包含Cloudflare字样的空白错误页面,则问题发生在源 Web 服务器上,您应该寻求主机提供商的协作来解决此问题。

501 Not Implemented (RFC7231)

源 Web 服务器未识别请求方法,或无法满足请求。通常,这意味着这项请求方法将可以被实施(例如,即将实施的特性或 web 服务 API)。

除非方法定义或显式缓存服务另有设定,否则此错误在默认情况下是可缓存的。

502 Bad Gateway (RFC7231)

后端 Web 服务器无法正确通信。出现这种情况有三个原因:

  1. 源 web 服务器未配置为处理目标 IP 地址请求的域名。DNS 记录更改时,可能会发生这种情况。决定记录在 DNS 中缓存的有效时间是由 DNS TTL 决定的。
  2. 源站过载或请求无法抵达。这可能是由于服务器崩溃、流量高峰或与服务器之间没有连接所致。
  3. 源站使用的应用程序或服务超时或被阻止。

如果错误包含 Cloudflare 彩色页面,则直接来自源站:

较少情况下您会看到“Cloudflare”白底错误(见下图)。如果您看到下面显示的错误版本,请立即提交支持工单并包含您的站点 CDN 跟踪的输出(访问 yoursite.com/cdn-cgi/trace 并复制/粘贴输出结果)。这可能意味着本地 Cloudflare 数据中心存在潜在问题。当您的源站返回未正常压缩的数据时,我们也可能发送此错误。

如果启用了 Always Online,此状态代码将触发 Always Online 页面。有关 Cloudflare 的更多相关信息,请参阅:我为什么会收到 502 错误?

503 Service Unavailable (RFC7231)

源 Web 服务器过载或正在维护,暂时无法处理请求。

服务器可能会包含重试标头,以指定客户端重试请求的适当时间。

请注意,并非所有 Web 服务器都会发出此响应。有些会直接拒绝或放弃连接。如果源 Web 服务器和 Cloudflare 发生通信中断,则会生成 522 错误响应。

在下列情况下,Cloudflare 将发送 503 错误:

  • 503 错误从您的源服务器被返回。
  • I’m Under Attack 模式被启用。
  • Always Online 被触发。

有关 Cloudflare 的更多相关信息,请参阅:我为什么会收到 503 错误?

504 Gateway Timeout (RFC7231)

连接到上行服务器时可能会出现此错误。网关或代理尝试访问源 Web 服务器,在等待响应期间,连接超时。

如果启用了 Always Online,此状态代码将触发 Always Online 页面。有关 Cloudflare 的更多相关信息,请参阅:我为什么会收到 504 错误?

505 HTTP Version Not Supported (RFC7231)

源 Web 服务器无法或不希望支持客户端请求的 HTTP 版本。

服务器应指出其不支持该版本的原因。

Cloudflare 特定状态代码

为了帮助网站所有者确定通过 Cloudflare 代理的用户请求导致错误的原因,Cloudflare 实施了自定义 HTTP 状态代码。状态代码为后端的产生的问题提供了可读的详细信息。

当满足其中一个错误条件时,Cloudflare 会生成完整的响应和消息。源 Web 服务器对 Cloudflare 请求的行为决定了将使用哪些状态代码;但是,状态代码是由Cloudflare服务器生成。

付费客户可以自定义和标记这些错误页面。拥有Custom Error Page (自定义错误页面)有助于为用户提供一致的体验,即使在页面加载错误的情况下也是如此。阅读有关Custom Error Page的更多信息。

来自服务器的 520 未知错误

这是当源 Web 服务器返回意外内容或无法解释的响应(例如协议违例或空白响应)。

虽然 520 错误可以由非常独特的服务器情况触发,但它们通常是在以下情况下引起的:

  • TCP 握手成功后链接被重置
  • HTTP 头字段超过 Cloudflare 的头字段大小限制(超过 8kb)
  • 源服务器的产生空白响应
  • 无效的 HTTP 响应
  • HTTP 响应缺少响应头字段 
  • 存在多个 Content-Length 头字段 

如果启用了 Always Online,此状态代码将触发 Always Online 页面。有关 Cloudflare 的更多相关信息,请参阅 Error 520 :Unknown Web Server Error.

521 Web Server is down

此错误响应表示源 Web 服务器拒绝来自 Cloudflare 的连接。这意味着,Cloudflare 尝试通过端口 80 或 443 连接到您的源 Web 服务器,但收到连接被拒绝的错误。源 Web 服务器正在主动拒绝该请求,因此这不是网络错误。

如果启用了 Always Online,此状态代码将触发 Always Online 页面。有关 Cloudflare 的更多相关信息,请参阅 Error 521 :Web Server is Down

522 Connection Timed Out

源服务器和 Cloudflare 建立 TCP 连接时出现异常,会发生此错误响应。

当有人访问启用了 Cloudflare 的网站时,Cloudflare 与网站源 web 服务器之间会建立连接。为建立连接,TCP 使用三向握手。

  1. SYN:Cloudflare 向源站发送三个 SYN 数据包。
  2. SYN+ACK:作为响应,源站将回复 SYN+ACK。
  3. ACK:最后,Cloudflare 向源站返回一个 ACK。

此时,Cloudflare 和源站都已收到连接确认,并建立连接和通信。如果源 web 服务器未在 15 秒内将 SYN + ACK 返回给 Cloudflare,则会发生 522 错误并且连接会关闭。

下图显示了成功的 TCP 握手:

如果启用了 Always Online,此状态代码将触发 Always Online 页面。更多信息,请参阅 Error 522 :Connection Timed Out

523 Origin is Unreachable

523 错误表示源 Web 服务器发生了问题,并且该站点无法访问。

如果启用了 Always Online,此状态代码将触发 Always Online 页面。更多信息,请参阅 Error 523 :Origin is Unreachable

524 A timeout occurred

Cloudflare 能够与源服务器建立 TCP 连接,但是源服务器在连接超时之前未回复 HTTP 响应。Cloudflare 服务器等待您的源站服务器发送 HTTP 响应的时间通常为 100 秒。

如果在这段时间内,您的服务器没有发送响应,我们将关闭连接并显示 524 错误页面。

如果启用了 Always Online,此状态代码将触发 Always Online 页面。更多信息,请参阅 Error 524 :A Timeout Occurred

525 SSL handshake failed

此错误表明 Cloudflare 与源站之间的 SSL 握手失败。这意味着 Cloudflare 设置使用了 “Full” SSL 模式,因此 Cloudflare 会尝试使用 SSL(适用于以 https:// 开头的请求)连接到源站。

如果启用了 Always Online,此状态代码将触发 Always Online 页面。更多信息,请参阅 Error 525 :SSL Handshake Failed.

526 Invalid SSL certificate

如果在源 Web 服务器上验证 SSL 证书时出现问题,并且网站的 Cloudflare SSL 配置设置为“Full(Strict)”,则会发生此错误。

更多信息,请参阅 Error 526 :Invalid SSL Certificate.

527 Railgun Listener to Origin Error

建立 WAN 连接后,请求超时或失败。这可能是由于从 Railgun Sender 到站点源 Web 服务器的 Listener 路径上游中断或异常所致。

当 Railgun Listener 无法完成或建立与源 Web 服务器的连接以接收请求的页面时,由于主机环境中的问题也可能会发生 527 错误。

如果启用了 Always Online,此状态代码将触发 Always Online 页面。更多信息,请参阅 Error 527 :Railgun Listener to Origin Error

530 Origin DNS Error

Cloudflare 无法解析请求的 A 或 CNAME DNS 记录。即使 Cloudflare 的Anycast 地址正确解析,也无法找到应该在您的 Cloudflare 控制面板的 DNS 应用中指定的记录,或者是无法解析外部 CNAME 记录。

浏览器将显示错误消息 1016 错误,但实际的 HTTP 响应代码为 530。

更多信息,请参阅 Error 530 :Origin DNS Error.

Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

由 Zendesk 提供技术支持