- 错误类型:
- 服务器错误
- 错误名称:
- Cloudflare 521错误
- 英文名称:
- Error 521
- 错误描述:
- 由于Cloudflare无法连接到您的站点,因此无法向访问者显示您的站点,而是显示521错误消息。
在WordPress网站上使用Cloudflare等内容交付网络 (CDN)可以帮助您大幅减少加载时间。但是,您可能偶尔会遇到Cloudflare特定的问题,例如“521错误”。此特定错误会阻止平台连接到您的网站,这意味着您可能也无法访问网站。
在本文中,我们将讨论Cloudflare反馈521错误是什么以及导致它的原因。然后我们将介绍三种方法来修复它。
Cloudflare的521错误是什么?
像Cloudflare这样的CDN将您网站的缓存副本存储在位于全球各地的服务器网络上。当访问者尝试访问您的网站时,Cloudflare 会“拦截”该连接并从最接近其位置的服务器加载缓存副本。这种方法通常会加快加载速度,同时降低站点主服务器的工作量。
正如您在上面了解到的,521错误消息是特定于Cloudflare的错误消息。
从本质上讲,这意味着您的Web浏览器能够成功连接到Cloudflare,但Cloudflare无法连接到源Web服务器 – 也就是您的WordPress站点的服务器。
具体来说,Cloudflare尝试连接到您的WordPress站点的服务器,但收到连接拒绝错误作为响应。
由于Cloudflare无法连接到您的站点,因此无法向访问者显示您的站点,而是显示521错误消息:
默认情况下,Cloudflare会告诉您它无法连接到网站的服务器,因为该服务器已关闭。但是,CDN可能无法连接到您的站点还有其他几个潜在原因。
在我们讨论这些原因之前,重要的是要注意521错误不是特定于WordPress的。无论您使用什么内容管理系统 (CMS)以及在外部网站上,您都可能遇到此错误。但是,您使用WordPress的事实为您提供了一种解决问题的额外方法,我们将在后面详细介绍。
什么导致Cloudflare返回521错误
正如我们之前提到的,当Cloudflare无法与您网站的服务器建立连接时,会发生521错误。通常,发生这种情况是由于以下三个原因之一:
- 您网站服务器已关闭。即使其他一切配置正确,如果您的WordPress站点的服务器处于离线状态,Cloudflare也将无法连接。如果您使用的是信誉良好的WordPress服务器主机,您应该拥有近乎完美的正常运行时间率(大约 99.9%)。这意味着在大多数情况下,服务器停机不是521错误背后的根本原因。
- 您服务器可能阻止Cloudflare请求。 您的Web服务器可能运行良好,但由于某种原因阻止了Cloudflare的请求。由于Cloudflare的工作方式,某些服务器端安全解决方案可能会无意中拦截Cloudflare的IP地址。比如,一些防火墙会阻止他们认为可疑的 IP,而Cloudflare请求可能会被该网络捕获。因为Cloudflare是一个反向代理,所以进入您的源服务器的所有流量看起来都好像来自一小范围的Cloudflare IP(而不是每个访问者的唯一IP地址)。因此,一些安全解决方案会将来自有限数量IP地址的高流量视为攻击并阻止它们。
- 您的Cloudflare证书有问题。Cloudflare 可以使用自己的安全套接字层 (SSL) 证书对您的网站与其服务器之间的流量进行加密。如果该证书有问题,源服务器可能会拒绝连接。
这似乎有很多潜在的领域需要覆盖。但是,在故障排除过程中,大多数这些原因很容易排除,我们将在下一节中讨论。
如何修复Cloudflare返回521错误 (3 种方法)
现在我们已经介绍了基础知识,我们将向您介绍如何解决WordPress中的Cloudflare返回的521错误。我们将逐步完成整个过程,首先排除最常见的原因(也是最容易修复的)。让我们从检查您网站的服务器是否已关闭开始。
1. 查明您站点的服务器是否停机
在信誉良好的托管服务提供商中,服务器停机是相当罕见的。许多提供商都吹嘘近乎完美的正常运行时间。因此,除非您使用的是不可靠的 Web 主机,否则您可以将其排除为521错误的根源。
在继续之前,您需要确保您的WordPress站点的服务器在线且运行正常。如果不是,则深入研究进一步的故障排除步骤是没有意义的。
但是,确保这不是问题仍然是一个好主意,特别是如果您不熟悉当前的托管服务提供商。如果由于错误521而无法访问您的网站,还有其他方法可以检查它是否在线。例如,您可以在命令终端中使用ping 命令,无论您使用的是哪种操作系统 (OS),它都应该可以工作。
Ping命令运行一个简单的测试,以确定服务器是否可达,并确保你没有任何连接问题。例如,这里我们正在为Google.com运行一个简单的ping 测试(通过输入“ping google.com”):
如果您收到来自服务器的回复,则它已启动并可访问。
查看服务器是否关闭的另一种方法是使用免费的在线服务,例如IsItDownRightNow?这个工具可以让你输入任何你想要的URL,并检查它是否可以访问:
你还可以运行cURL命令。如果您使用的是Mac或Linux,则可以直接从终端运行它。
Windows默认没有安装cURL,虽然您可以安装它,但更简单的方法是使用KeyCDN的在线HTTP标头检查工具。
您所做的只是插入http://1.2.3.4,其中1.2.3.4是您服务器的实际IP地址。
KeyCDN标头检查工具
如果您的服务器已启动,您应该会看到HTTP 200响应。或者,您也可能看到404 Not Found,这也意味着网络服务器已启动(只是没有与该IP关联的页面):
成功连接的示例
如果出现问题,您会看到类似Host Not Found或Failed to connect的信息:
您的服务器出现问题的示例
如果服务说该网站已启动,那么您就可以开始了。这意味着您的521错误的原因在于其他地方。如果您的服务器由于某种原因停机,您需要与您的托管服务提供商联系以找出原因。
2. 将Cloudflare IP范围列入白名单
您可以尝试的下一个修复是确保您的服务器的防火墙知道让Cloudflare请求通过。根据您使用的托管计划类型,您可能无法手动更改服务器的配置。例如,在大多数共享和托管计划中,您将无法修改服务器的防火墙设置。
如果您使用的是非托管虚拟专用服务器 (VPS)或专用服务器,您应该拥有对必要选项的完全访问权限。如果您使用防火墙,则可以修改其设置并将Cloudflare的IP范围列入白名单。
您需要确保没有在.htaccess、iptables或防火墙中阻止这些IP地址。而且您还需要确保您的托管服务提供商不会限制或阻止来自Cloudflare IP地址的IP请求。如果您不确定如何执行此操作,请联系您的主机支持人员。
或者,您可以联系您的托管服务提供商,让他们检查服务器的防火墙是否阻止了Cloudflare的任何地址。由于CDN的流行,情况不应该是这样。但是,您的网络托管服务商的支持团队将能够给您一个明确的答案。
3. 设置Cloudflare Origin 证书
Cloudflare使您能够配置CDN应如何处理 SSL 证书。它为您提供了多种SSL模式选项,包括:
- Flexible。在此模式下,Cloudflare 将使用 HTTP 连接到您的网站。理想情况下,除非您尚未为网站设置 SSL 证书,否则不应使用此模式。
- Full。此模式让用户决定是使用HTTP还是HTTPS连接您的网站。但是,如果他们使用HTTPS,Cloudflare将不会验证您网站的证书。
- Strict。此模式还使访问者能够决定使用哪种协议。但是,它会告诉Cloudflare检查您网站证书的有效性。
如果您的证书存在导致521错误的问题,通常会在您使用Strict SSL模式时发生。这是因为Cloudflare还需要在其末端使用原始证书来加密与您网站的流量。
生成Cloudflare源证书很简单,一旦你这样做了,你应该能够访问你的网站,而不会出现错误521。如果您站点的证书有问题,您将看到完全不同的错误代码(526错误)。
小结
如果您将Cloudflare与WordPress一起使用,您可能会遇到521错误。当Cloudflare无法与您网站的服务器建立连接时,会出现此特定错误代码。这可能是因为服务器已关闭、其防火墙阻止了Cloudflare,或者其SSL证书存在问题。
总而言之,您可以通过以下方式对Cloudflare中的521错误进行故障排除:
- 检查您站点的服务器是否已关闭。
- 配置您服务器的防火墙以将Cloudflare IP范围列入白名单。
- 设置Cloudflare源证书。