如何修复WordPress网站Cloudflare 502 bad gateway错误

错误类型:
HTTP错误
错误名称:
502错误网关
英文名称:
502 bad gateway
错误描述:
502 bad gateway错误会时不时地弹出,这通常意味着您的服务器有问题。

502 bad gateway错误修复

运行网站最令人沮丧的方面之一是在您不知道错误发生的原因时必须对其进行故障排除。某些问题(例如502 bad gateway错误)有许多潜在原因。这意味着您可能需要尝试多种解决方案,然后才能找到正确的解决方案。在这篇文章中,我们将向您展示如何导航并解决这个棘手的错误。

什么是502 bad gateway错误(以及为什么会发生)

502 bad gateway

502 bad gateway错误会时不时地弹出,这通常意味着您的服务器有问题。

当您访问一个网站时,您的浏览器会向托管该网站的服务器发送一个或多个请求。如果一切正常,该服务器将发回您的浏览器要求的信息,然后网站将加载。另一方面,当服务器发回“无效”响应时,会发生502 bad gateway错误。这可能意味着连接超时,或者可能是其他几个问题的结果。

来自Mozilla Developer Network,官方定义是:

超文本传输​​协议 (HTTP) 502错误网关服务器错误响应代码表示服务器在充当网关或代理时收到来自上游服务器的无效响应。

到目前为止,这听起来可能很简单。但是,您的浏览器和大多数网站之间的连接不像以前那么简单了。例如,您的浏览器的请求可能会在到达相关主机之前通过代理服务器进行路由,因此可能很难确定问题所在的位置。许多网站还使用多个服务器,这使事情变得更加复杂,因为其中任何一个都可能是502错误的原因。

所有这些都意味着这个特定的错误代码有一些潜在的原因。这可能是以下结果:

  • 数据库中的错误。
  • 超时、当前不可用或无法按预期工作的服务器。
  • 服务器因请求过多而过载。也许是DDOS攻击,或者甚至只是比预期更大的流量高峰。
  • 您的反向代理服务器有问题。
  • 错误的PHP脚本,由您的插件或主题之一提供。

好消息是,如果问题出在服务器端,您可能不需要采取任何措施。在这些情况下,您的托管服务提供商通常会迅速采取行动(因为客户往往不喜欢停机时间)。在收到您的网站受到 502 错误影响的通知后,您应该确保尽快联系您的主机的支持团队。

考虑到这一点,我们将重点关注如果502 Bad Gateway错误不会自行迅速消失该怎么办。毕竟,大多数网站无法承受一次停机数小时,因此,如果此错误持续存在,则是时候开始进行故障排除了。

如何修复502 Bad Gateway错误

在您进入故障排除模式之前,您可以运行一项快速测试来确定您的服务器是否正常响应。您可以尝试运行traceroute,以首先查看您的服务器是否可以访问。如果是,那么问题可能出在你的身上。如果没有,此时您可能需要与您的托管服务提供商取得联系。

您还应该尝试重置您的路由器,并检查您的域名系统 (DNS)设置。这些是有时可以使502错误消失的基本修复,而且它们很容易由您自己解决。但是,如果您发现两种解决方案都无法解决问题,则可以使用以下方法来解决502错误。

1. 刷新网页并尝试不同的浏览器

我们总是应该从最简单的解决方案入手。502 Bad Gateway 错误可能是一个临时问题。例如,网络服务器可能在几分钟内负荷过重或流量短暂激增。

请尝试等待几分钟并刷新页面。如果还不行,可以尝试使用不同的浏览器访问同一网站。如果有效,那么问题可能出在原来的浏览器上。如果页面仍然打不开,则可能是网站本身的问题。

另一种确定问题是出在自己还是网站服务器的方法是使用 “Down for Everyone or Just Me” 或 “Is It Down Right Now” 等工具来确认问题是出在自己还是网站主机。

Down for Everyone or Just Me

使用这些工具之一就能确定网站的状态。如果不是所有人的网站都瘫痪了,则需要在自己的网站上排除故障,下面的前几个步骤会对排除故障有所帮助。如果您的网站对所有人都是瘫痪的,您需要检查网站的后台以找到问题的根源,这将在本篇文章的后面部分讨论。

2. 使用其他设备进行测试

假设您一直在使用电脑和互联网服务提供商,请尝试用手机访问您的网站。首先,进入手机设置并关闭 Wifi,然后确保启用了移动数据。如果您能访问网站,说明问题出在您自己身上,重启网络可能会解决问题。

要重启网络,请先关闭电脑,然后拔下调制解调器和路由器的插头。如果您的调制解调器和 Wifi 路由器是一体的,请拔掉插头,等待大约一分钟,然后插入调制解调器,让它重新启动。然后插入路由器,让它重新启动。如果您有集成硬件,请将其插入并让其启动。

最后,启动电脑并尝试访问您的网站。

3. 清除浏览器缓存

当您尝试访问您的网站时,即使根本问题已得到解决,也可能会出现502错误。如果您的浏览器依赖其缓存,而不是从服务器加载最新版本的站点,则会发生这种情况。

简单地重新加载站点几次通常可以解决问题。特别是如果您通过Windows上的 Shift-CTRL-R 或 Mac上的 Shift-CMD-R 使用强制重新加载。

如果以上所有方法都失败,您应该继续手动清空浏览器的缓存。Chrome用户可以通过导航到“设置”>“高级”菜单并找到“清除浏览数据”选项来执行此操作:

清除浏览数据

在“基本”选项卡下查找“缓存图像和文件选项,选择后单击“清除数据”。请记住,如果您在单击“清除数据”按钮之前未禁用该设置,则此菜单还将删除您的浏览历史记录。

同样的过程也可以使用FirefoxSafariInternet Explorer以及几乎任何其他浏览器来完成。清除缓存后,再次尝试重新加载您的网站。如果错误仍然存​​在,就该严肃对待了。有关清除缓存的更多信息,您可以在Hubspot主题的中心页面上找到它。

4. 刷新DNS缓存

502 Bad Gateway 错误也可能是由域名系统(DNS)问题引起的。例如,如果您刚刚将网站迁移到一个新的虚拟主机,传播过程可能需要 48 小时。

不过,问题也可能源于本地 DNS 缓存。设备上的这个临时存储空间包含以前访问过的域名信息。

如果您使用的是 Windows 系统,可以使用命令提示符刷新 DNS 缓存。要访问它,请在任务栏的 Windows 搜索中输入 “CMD”,然后按 Enter。

现在您就可以访问命令提示符了。

Windows命令提示符

打开 “命令提示符” 对话框后,复制或键入以下命令:

ipconfig /flushdns

让它运行。完成后,你会看到一条信息,上面写着 “Successfully flushed the DNS resolver Cache”。

DNS 解析器缓存

如果使用的是 Mac 操作系统,请在终端中输入或复制以下命令。

dscacheutil -flushcache

如果您不习惯使用上述两种方法,也可以使用第三方服务(如 Google Public DNS)临时更改 DNS 服务器。

5. 暂时禁用CDN

之前,我们提到您的浏览器请求有时会通过反向代理服务器进行路由。换句话说,使用代理服务器在用户的浏览器和网站的服务器之间放置了一个中介。

某些服务,例如内容交付网络 (CDN),依靠反向代理技术尽可能有效地路由传入流量。但是,有时当您尝试连接到网站的源服务器时,这个额外的层会产生问题。发生这种情况时,您的访问者(和您)可能会遇到可怕的502错误网关。

幸运的是,检查并查看您的CDN是否导致此问题很容易。您所要做的就是暂时禁用该服务,然后在没有它的情况下测试您的网站是否可以正确加载。禁用CDN的过程因您使用的服务而异,但通常很简单。

例如,Cloudflare用户只需导航到仪表板中的Overview选项卡。在里面,您会找到运行服务的属性列表。然后,您需要在“Pause Website部分中查找大的“Pause按钮,然后单击它:

禁用CDN

现在,当您尝试访问您的网站时,其源站服务器将响应该请求,而不会受到任何中间人的阻碍。如果502错误消失,那么您的CDN可能是问题的根源。在大多数情况下,您只需等待几个小时即可重新启用该服务。当然,一定要检查并确保之后错误仍然消失。

如果您使用其他CDN,则需要查看其文档以获取有关如何暂时禁用该服务的说明。但是,如果您的CDN不是问题,那么您可以尝试另一种修复方法。

6. 检查网站的错误日志

如果每个人的网站都瘫痪了,而且问题出在本地,您还可以检查网站的错误日志,这可能会帮助您找出问题的原因。例如,它可能将插件冲突或更新标记为 502 Bad Gateway 错误的源头。

您可以通过安全文件传输协议 (SFTP) 客户端(如 WinSCPSmartFTP)访问网站的日志文件。

7. 测试WordPress主题和插件

到目前为止,我们已经讨论了502错误背后的三个潜在原因:您的服务器、您的浏览器和CDN等中间人服务。如果您确定问题出在您的一端,那就只有一种选择,那就是您的网站。如果您专门运行WordPress,您的插件或主题之一可能会尝试执行您的服务器无法正确加载的脚本。当您的浏览器发送请求时,这可能会导致无效响应,从而触发502错误。

您一次只能有一个活动主题,因此您可以简单地停用当前主题并暂时切换到默认的WordPress主题,看看是否能解决错误。另一方面,确定插件是否导致问题可能需要更多时间,具体取决于当前活动的插件数量。

由于该错误,您目前无法访问仪表板,因此您需要手动禁用插件和主题。请记住,此过程不涉及删除插件和主题,重新激活它们只需要片刻时间。因此,您网站的功能不应该受到影响。即便如此,您还是应该准备好最近的备份以防万一。

然后,打开您选择的 FTP 客户端。我们习惯性使用FileZilla,下面也将使用它作为示例。通过FTP登录您的网站,然后导航到public_html – wp-content – plugins文件夹。每个安装的插件都应该有一个文件夹——即使是那些不活动的插件:

禁用WP插件

如果您右键单击这些文件夹中的任何一个,您将看到多个选项,包括一个标记为Rename 的选项。现在单击它,并将文件夹的名称更改为disabled.pluginname 之类的名称:

禁用WP插件2

当您现在访问您的网站时,WordPress将无法找到该插件,因此它会在没有它的情况下加载。如果您刚刚停用的插件导致502错误,您的网站应该可以正确加载。为确定起见,请记住在重新加载站点之前使用 CTRL + F5 命令(或OS X等效命令)强制浏览器删除其缓存。

为避免混淆,您应该一次对一个插件进行故障排除。更改文件夹的名称,尝试重新加载您的网站,看看它是否仍然显示 502 错误。如果是,请恢复文件夹的原始名称。对每个文件夹重复此过程,直到找到导致错误的文件夹,或者直到您测试了每个插件。您可以使用相同的过程来测试您的活动主题,这将强制WordPress使用其默认主题之一。

如果你的插件或主题之一导致502错误,你可以完全删除它,并寻找一个替代品。如果它已过时,您也可以尝试更新它,看看是否能解决问题。在某些情况下,问题脚本会很快得到修补,因此您以后可以随时继续使用该插件或主题。

8. 重启PHP并增加PHP限制

502 网关错误也可能是 PHP 超时引起的。当 PHP 进程耗时超过最大加载时间,请求超时时就会发生这种情况。

重启 PHP 可能有助于解决连接问题。大多数主机都提供了通过控制面板重启服务的选项,但如果您没有看到该选项,您可能需要要求他们为您重启服务。

不幸的是,更改服务器的 max_execution_time 或 max_input_time 值可能是必要的。默认情况下,WordPress 将这些值设置为 300 秒,但您可以通过主机的控制面板增加 PHP 的执行时间,或者联系他们的技术支持,让他们为您做这件事。

9. 联系主机提供商

如果您已经完成了前面的步骤,但仍无任何帮助,那么是时候考虑联系您的托管服务提供商了。可能是服务器问题影响了您的网站。不幸的是,如果是这种情况,除了等待他们修复之外,你什么也做不了。

此外,他们也许可以确定 502 Bad Gateway 错误的来源,并指导您解决问题。许多主机提供 24/7 全天候聊天支持,应该能够快速解决问题。

其他快速(潜在)修复

现在,如果502错误是由您端的某些原因而不是服务器端引起的,则上述这些修复程序可能会找到并修复罪魁祸首。如果它没有消失,请记住,我们建议您联系您的网络主机,让他们对服务器进行分类并诊断那里的任何问题。

也就是说,您可以通过执行一些快速检查来帮助加快流程。

这些检查中的第一个是您的站点可能已保存的任何日志。如果是WordPress,则有多种查看方式。我们有一篇关于使用这些日志来改进您的网站的可靠文章,在这里可能会有所帮助。运行5.0或更高版本的WP站点配备了站点运行状况工具,您可以在管理仪表板中查看该工具,因此请确保您了解它的内容。

您还可以确保浏览器的cookie是清晰的。这些与缓存完全分开,我们并不总是想清除它们。如果您将任何信息保存在浏览器中,这会将其清除。但是这些相同的cookie也可能对您和这些站点之间的连接进行502,因此它可以是Catch-22。无论哪种方式,在任何主要浏览器中清除cookie都非常容易。

如果您的网站停止运行,则可能是后台有些内容需要更多时间来执行。您可以通过编辑您的functions.php文件来增加WordPress站点允许的执行时间。如果您不在WP上,您也可以通过.htaccessphp.ini来完成。Thimpress有一个关于如何完成这一切的很好的指南

最后,您可以检查DNS错误。这意味着您已经移动了主机或更改为不同类型的计划或服务器本身。您可能已经调整了名称服务器或任何可能出错的事情。DNS设置非常具体,容易出现配置错误。因此,进入您的cPanel或仪表板,确保您的主机和域注册商之间的所有内容以及您网站本身的设置都一致。有时,电线被交叉或一个错字会阻止其轨道上的一切。在这里进行一点 DNS 校对可以大有帮助。

如果您真的有兴趣确保您的DNS正常,您可以启动终端并手动刷新您的DNS缓存

小结

对WordPress错误进行故障排除通常比您想象的要容易。即使是有很多潜在原因的问题,例如502错误网关错误,也得到了很好的理解和记录。在找到一个可行的解决方案之前,您可能需要尝试多种解决方案,但如果您按照正确的说明进行操作,故障排除过程应该不会花费太长时间。

如果您在网站上遇到502 bad gateway错误,并且几分钟后仍未消失,则问题很可能出在您的身上。只需完成我们上面提到的流程和技巧,您和您的用户就会立即回到您的网站上。

评论留言