如何解决WordPress网站Cloudflare返回的521错误
错误类型: 服务器错误 错误名称: 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地址。
CDN标题检查工具
如果您的服务器已经启动,您应该会看到一个HTTP 200响应。或者,您也可以看到404 Not Found,这也意味着web服务器已启动(只是没有与此IP相关联的页面):
成功连接的示例
如果出现问题,您将看到类似主机未找到或连接失败的内容:
您的服务器出现问题的示例
如果服务说网站已经启动了,那么你就可以启动了。这意味着你的521错误的原因在别处。如果你的服务器由于某种原因关闭了,你需要联系你的主机服务提供商找出原因。
2.将Cloudflare IP范围列入白名单
您可以尝试的下一个修复方法是确保您的服务器防火墙知道让Cloudflare请求通过。根据您使用的托管计划的类型,您可能无法手动更改服务器的配置。例如,在大多数共享和托管计划中,您将无法修改服务器的防火墙设置。
如果您使用的是非托管虚拟专用服务器(VPS)或专用服务器,您应该对必要的选项拥有完全访问权限。如果您使用防火墙,您可以修改其设置并将Cloudflare的IP范围列入白名单。
您需要确保这些IP地址没有被阻止。htaccess、iptables或防火墙。您还需要确保您的托管服务提供商不会限制或阻止来自Cloudflare IP地址的IP请求。如果您不确定如何操作,请联系您的主机支持。
或者,您可以联系您的托管服务提供商,请他们检查服务器的防火墙是否阻止了任何Cloudflare地址。因为CDN的普及,应该不是这样。然而,你的虚拟主机服务商的支持团队会给你一个明确的答复。
3.设置Cloudflare来源证书
Cloudflare使您能够配置CDN应该如何处理SSL证书。它为您提供了各种SSL模式选项,包括:
灵活的.在此模式下,Cloudflare将使用HTTP连接到您的网站。理想情况下,除非您还没有为您的网站设置SSL证书,否则您不应该使用这种模式。
满了.此模式允许用户决定是使用HTTP还是HTTPS连接到您的网站。但是,如果他们使用HTTPS,Cloudflare将不会验证您网站的证书。
严格的.这种模式也使访问者能够决定使用哪种协议。但是,它会告诉Cloudflare检查您的网站证书的有效性。
如果您的证书有问题导致521错误,这通常发生在您使用严格SSL模式时。这是因为Cloudflare还需要在其末端使用原始证书来加密与您网站的流量。
生成Cloudflare源证书很简单。一旦你这样做了,你应该能够访问你的网站,没有错误521。如果您的站点的证书有问题,您将看到一个完全不同的错误代码(526错误)。
总结
如果你在WordPress上使用Cloudflare,你可能会遇到521错误。当Cloudflare无法与您网站的服务器建立连接时,会出现此特定错误代码。这可能是因为服务器已关闭,其防火墙阻止了Cloudflare,或者其SSL证书有问题。
综上所述,您可以通过以下方式解决Cloudflare中的521错误:
检查您站点的服务器是否关闭。
将服务器的防火墙配置为将Cloudflare IP范围列入白名单。
设置Cloudflare源证书。