如何使用 WordPress 和 Cloudflare 修复错误 521

已发表: 2022-04-28

您是否正在寻找使用 WordPress 和 Cloudflare 修复“错误 521”的方法?

如果您看到此错误消息,那么每个尝试访问您网站的人也是如此。 这对访问者体验和您的转化率来说是个坏消息。 它甚至可能会花费您的搜索引擎排名。

在本文中,我们将向您展示如何使用 WordPress 和 Cloudflare 修复 521 错误。

How to fix error 521 with WordPress and Cloudflare

WordPress 和 Cloudflare 出现错误 521 的原因是什么?

如果您在尝试访问 WordPress 网站时看到 521 错误,这意味着您的浏览器已成功连接到 Cloudflare,但 Cloudflare 未连接到托管您网站的服务器。

这通常是因为您的服务器处于离线状态。

您的 WordPress 托管服务器也有可能在线,但它阻止了 Cloudflare。 通常,当服务器将 Cloudflare 误认为存在安全威胁时,就会发生此 WordPress 错误。 这通常是由于您的服务器或 Cloudflare 的设置方式存在问题。

但请放心,我们有五个故障排除步骤,您可以按照这些步骤快速修复此错误。

如果您不确定导致 521 错误的原因,那么我们建议您从第 1 步开始,逐步完成每个步骤。 如果您喜欢直接跳到特定步骤,则可以使用下面的链接。

  1. 联系您的托管服务提供商
  2. 检查您的服务器是否离线
  3. 将 Cloudflare 的所有 IP 地址列入白名单
  4. 要求您的托管服务提供商启用端口 443
  5. 创建并上传 Cloudflare Origin 证书

1. 联系您的托管服务提供商

当您收到 521 错误时,您可以采取一些步骤自行解决问题。 然而,其中一些可能是耗时和技术性的。

考虑到这一点,修复 521 错误的最简单方法是联系您的 WordPress 托管服务提供商。 一个好的网络主机应该能够告诉你为什么你会收到这个错误。 他们甚至可以为您解决问题。

如果您不确定如何联系支持人员,请访问您的托管服务提供商的网站。 然后,您可以查找任何联系我们或支持页面。

The Bluehost support settings

为了帮助您尽快解决此问题,我们建议您选择可用的实时支持选项。 例如,实时聊天或商务电话支持几乎总是比票务门户或电子邮件更快。

如果您无法立即从托管服务提供商处获得支持,那么您可以尝试以下步骤。

2.检查你的服务器是否离线

当您收到 521 错误时,始终值得检查您的服务器是否在线。

如果它仍然在线,那么您可以尝试其他故障排除步骤。

为此,您需要知道服务器的 IP 地址。 这是一串数字,用于标识网络上的硬件。

您可以使用此 IP 地址来“ping”托管您的 WordPress 网站的物理服务器。 如果服务器响应,您将知道它在线。

如果它没有响应,那么您的服务器处于脱机状态,这就是导致您的 521 错误的原因。

要获取您的 IP 地址,您需要登录网站的控制面板。 这通常由您的托管服务提供商提供,通常是 cPanel 或自定义面板。

登录后,您可以查找任何标有“IP 地址”的设置。

如果您是 Bluehost 客户,那么您只需要登录到您的 cPanel 仪表板。 然后,您可以单击左侧边栏中的高级。

The Bluehost cPanel dashboard

在此屏幕上,找到一般信息部分。

Bluehost 将在“共享 IP 地址”下显示您服务器的 IP 地址。

Getting your IP address in cPanel

如果您很难找到此 IP 地址,请务必检查您的托管服务提供商的网站或在线文档。 许多网络主机都有详细的教程向您展示如何找到您的 IP 地址。

获得此信息后,请转到 HTTP Header Checker 工具。 您可以使用此工具“ping”您网站的服务器并查看它是否响应。

要进行此测试,只需将您的 IP 地址粘贴到“URL”字段中。

然后在您的 IP 地址前添加“http://”。 这会将这串数字变成一个网址。 例如:

56.18.270.000

变成:

http://56.18.270.000

The HTTP Header Checker tool

接下来,单击“检查”按钮。 HTTP Header Checker 现在将尝试与您的服务器通信。

如果您的服务器处于离线状态,您将看到诸如“连接失败”或“未找到主机”之类的消息。

这解释了为什么您会收到 521 错误。 在这种情况下,您需要联系您的托管服务提供商进行修复。

如果您的服务器在线,HTTP Header Checker 将显示“2XX”状态代码。 如果您的服务器在线但暂时重定向到新位置,您可能还会看到“3XX”状态代码。

如果您的服务器在线,则中断或服务器停机不会导致您的 521 错误。 在这种情况下,您可以继续按照本指南修复错误。

3. 将 Cloudflare 的所有 IP 地址列入白名单

您的服务器可能在线,但阻止了 Cloudflare 的 IP 地址。 当您尝试访问 WordPress 网站时,这可能会导致 521 错误。

解决方案是将 Cloudflare 使用的所有 IP 地址列入白名单。 通过将 IP 地址列入白名单,您就是在告诉您的服务器允许来自该地址的所有请求。

您可以将列入白名单的 IP 添加到您网站的 .htaccess 文件中。 这是一个重要的配置文件,它告诉服务器它应该如何操作。

要编辑您的 .htaccess 文件,您需要一个 FTP 客户端,例如 FileZilla。

如果您之前没有使用过 FTP 客户端,您可能希望查看我们的指南以了解如何使用 FTP。 这篇文章向您展示了如何使用 FTP 客户端连接到您的服务器。

连接到服务器后,您需要打开网站的根文件夹。 要访问它,只需打开显示您网站地址的文件夹。

接下来,打开“public_html”文件夹。

The FileZilla FTP client

您现在应该会看到您网站的 .htaccess 文件。

某些 FTP 客户端默认隐藏敏感文件。 如果您没有看到 .htaccess 文件,那么您需要在 FTP 客户端中启用“显示隐藏文件”选项。

如果您使用 FileZilla,只需从工具栏中选择服务器。 然后点击“强制显示隐藏文件”。

Showing hidden files in FileZilla

如果您仍在努力寻找 .htaccess,请参阅我们的指南,了解如何在 WordPress 中找到 .htaccess 文件。

当您准备好编辑此文件时,只需按住 Control 键单击 .htaccess 文件。

然后,选择查看/编辑。

Editing the .htaccess file

这将在您计算机的默认文本编辑程序中打开 .htaccess。

在此文件中,找到“# BEGIN”行。 您需要在此行上方添加所有 Cloudflare IP 地址。

Fixing error 521 with WordPress and Cloudflare

首先,在新行上键入以下内容:

命令拒绝,允许

How to fix error 521 using .htaccess

在新选项卡中,打开 Cloudflare IP 范围列表。

要将 IP 地址列入白名单,您需要输入“允许来自”,然后复制/粘贴或输入 IP 地址。 这意味着:

103.21.244.0/22

变成:

允许来自 103.21.244.0/22

您还需要在新行中添加每个 IP 地址。

Whitelisting the Cloudflare IP address

添加所有 Cloudflare IP 地址后,保存您的更改。 您现在可以关闭 .htaccess 文件。

现在您可以继续访问您的网站,看看这是否修复了“错误 521”。

4. 要求您的托管服务提供商启用端口 443

Cloudflare 有几种不同的加密模式。

在收到 521 错误之前,您是否切换到完整或完整(严格)模式? 这可能导致了问题。

当 Cloudflare 处于 Full 或 Full (Strict) 模式时,它需要访问端口 443。但是,某些服务器阻止 Cloudflare 访问此端口,这将触发“错误 521”错误。

解决方案是在您的服务器上启用端口 443。

此过程将根据您的托管服务提供商和服务器设置而有所不同。 考虑到这一点,我们建议联系您的托管服务提供商并要求他们为您启用端口 443。

5. 创建并上传 Cloudflare Origin 证书

即使启用了端口 443,在使用 Cloudflare 的 Full 或 Full(Strict)模式时,您仍然可能会收到 521 错误。

这是因为如果您拥有有效的 Cloudflare 原始证书,某些服务器仅允许端口 443 上的连接。 此证书对 Cloudflare 和您的 Web 服务器之间的流量进行加密。

如果您不提供原产地证书,您可能会收到“错误 521”。

好消息是 Cloudflare 可以逐步引导您完成创建此证书的过程。

要开始使用,请登录您的 Cloudflare 帐户。 然后转到SSL/TLS » Origin Server

How to create a Cloudflare Origin Certificate

接下来单击创建证书按钮。

Cloudflare 现在将要求提供私钥和证书签名请求 (CSR)。

您是否已经拥有私钥和 CSR? 然后只需选中“使用我的私钥和 CSR”复选框。

Creating a private key

您现在可以在“证书签名请求 (CSR)”框中键入您的 CSR。

如果您没有 CSR 和密钥,请不要惊慌! Cloudflare 可以为您创建这两件事。

要开始使用,请选择“使用 Cloudflare 生成私钥和 CSR”。

Fixing error 521 with WordPress and Cloudflare

您现在可以选择是创建 RSA 密钥还是 ECC 密钥。

大多数安全专家都同意 ECC 和 RSA 同样安全。 但是,ECC 的密钥长度较短。 这意味着 ECC 密钥更快。

因此,我们建议您创建 ECC 密钥。

做出决定后,打开“私钥类型”下拉菜单。 然后,您可以选择 RSA 或 ECC。

Creating a private key for Cloudflare

接下来,滚动到主机名字段。 您可以在此处添加要保护的所有主机名。 这听起来可能很复杂,但 Cloudflare 为您做了很多工作。

您会看到 Cloudflare 已经添加了您的根域名。

Cloudflare 还会自动添加通配符,即您网站的域加上 * 符号。 这是确保您的子域得到适当保护的“包罗万象”。 例如,如果您的根域是“www.example.com”,那么此通配符将确保您的“store.yourwebsite.com”子域也受到保护。 有关更多详细信息,请参阅我们的子域完整指南。

这些默认值应该足以保护大多数网站。 但是,如果您需要添加更多主机名,则只需在“主机名”字段中输入它们即可。

Adding hostnames to Cloudflare

接下来滚动到“证书有效性”部分。

您的证书默认有效期为 15 年。

需要更多时间? 然后只需打开“证书有效性”下拉菜单并选择一个新值。

Changing your certificate validity

当您对输入的所有信息感到满意时,单击“创建”按钮。

Cloudflare 现在将创建您的证书。

Fixing error 521 with a Cloudflare certificate

Cloudflare 然后将显示原始证书和私钥。 您需要将此信息复制到单独的文件中。

注意:离开此屏幕后,您将无法再次看到私钥。 考虑到这一点,请确保将此密钥存储在安全的地方。

您现在可以将您的原始证书上传到您的网络服务器。 这些步骤可能因您的托管服务提供商和服务器而异。

为了帮助您,Cloudflare 发布了针对不同类型 Web 服务器的说明。

在服务器上安装原始证书后,最后一步是更新 SSL/TLS 加密模式。

在您的 Cloudflare 仪表板中,转到 SSL/TLS。

The Cloudflare dashboard

现在找到“SSL/TLS 加密模式”部分。

在此部分中选择“完整(严格)”。

Changing your Cloudflare mode

Cloudflare 现在正在使用您的原始证书。 您现在可以检查您的网站,看看这是否修复了“错误 521”

我们希望本文能帮助您了解如何使用 WordPress 和 Cloudflare 修复“错误 521”。 如果您希望您的托管公司处理技术细节,您可能还想查看我们关于最佳托管 WordPress 托管的指南,或者查看我们为小型企业提供的最佳商业 VoIP 提供商综述。

如果您喜欢这篇文章,请订阅我们的 YouTube 频道以获取 WordPress 视频教程。 您也可以在 Twitter 和 Facebook 上找到我们。