- 错误类型:
- HTTP错误
- 错误名称:
- 502错误网关
- 英文名称:
- 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错误。
清除浏览器缓存
当您尝试访问您的网站时,即使根本问题已得到解决,也可能会出现502错误。如果您的浏览器依赖其缓存,而不是从服务器加载最新版本的站点,则会发生这种情况。
简单地重新加载站点几次通常可以解决问题。特别是如果您通过Windows上的 Shift-CTRL-R 或 Mac上的 Shift-CMD-R 使用强制重新加载。
如果以上所有方法都失败,您应该继续手动清空浏览器的缓存。Chrome用户可以通过导航到“设置”>“高级”菜单并找到“清除浏览数据”选项来执行此操作:
在“基本”选项卡下查找“缓存图像和文件”选项,选择后单击“清除数据”。请记住,如果您在单击“清除数据”按钮之前未禁用该设置,则此菜单还将删除您的浏览历史记录。
同样的过程也可以使用Firefox、Safari、Internet Explorer以及几乎任何其他浏览器来完成。清除缓存后,再次尝试重新加载您的网站。如果错误仍然存在,就该严肃对待了。有关清除缓存的更多信息,您可以在Hubspot主题的中心页面上找到它。
暂时禁用CDN
之前,我们提到您的浏览器请求有时会通过反向代理服务器进行路由。换句话说,使用代理服务器在用户的浏览器和网站的服务器之间放置了一个中介。
某些服务,例如内容交付网络 (CDN),依靠反向代理技术尽可能有效地路由传入流量。但是,有时当您尝试连接到网站的源服务器时,这个额外的层会产生问题。发生这种情况时,您的访问者(和您)可能会遇到可怕的502错误网关。
幸运的是,检查并查看您的CDN是否导致此问题很容易。您所要做的就是暂时禁用该服务,然后在没有它的情况下测试您的网站是否可以正确加载。禁用CDN的过程因您使用的服务而异,但通常很简单。
例如,Cloudflare用户只需导航到仪表板中的Overview选项卡。在里面,您会找到运行服务的属性列表。然后,您需要在“Pause Website”部分中查找大的“Pause”按钮,然后单击它:
现在,当您尝试访问您的网站时,其源站服务器将响应该请求,而不会受到任何中间人的阻碍。如果502错误消失,那么您的CDN可能是问题的根源。在大多数情况下,您只需等待几个小时即可重新启用该服务。当然,一定要检查并确保之后错误仍然消失。
如果您使用其他CDN,则需要查看其文档以获取有关如何暂时禁用该服务的说明。但是,如果您的CDN不是问题,那么您可以尝试另一种修复方法。
测试WordPress主题和插件
到目前为止,我们已经讨论了502错误背后的三个潜在原因:您的服务器、您的浏览器和CDN等中间人服务。如果您确定问题出在您的一端,那就只有一种选择,那就是您的网站。如果您专门运行WordPress,您的插件或主题之一可能会尝试执行您的服务器无法正确加载的脚本。当您的浏览器发送请求时,这可能会导致无效响应,从而触发502错误。
您一次只能有一个活动主题,因此您可以简单地停用当前主题并暂时切换到默认的WordPress主题,看看是否能解决错误。另一方面,确定插件是否导致问题可能需要更多时间,具体取决于当前活动的插件数量。
由于该错误,您目前无法访问仪表板,因此您需要手动禁用插件和主题。请记住,此过程不涉及删除插件和主题,重新激活它们只需要片刻时间。因此,您网站的功能不应该受到影响。即便如此,您还是应该准备好最近的备份以防万一。
然后,打开您选择的 FTP 客户端。我们习惯性使用FileZilla,下面也将使用它作为示例。通过FTP登录您的网站,然后导航到public_html – wp-content – plugins文件夹。每个安装的插件都应该有一个文件夹——即使是那些不活动的插件:
如果您右键单击这些文件夹中的任何一个,您将看到多个选项,包括一个标记为Rename 的选项。现在单击它,并将文件夹的名称更改为disabled.pluginname 之类的名称:
当您现在访问您的网站时,WordPress将无法找到该插件,因此它会在没有它的情况下加载。如果您刚刚停用的插件导致502错误,您的网站应该可以正确加载。为确定起见,请记住在重新加载站点之前使用 CTRL + F5 命令(或OS X等效命令)强制浏览器删除其缓存。
为避免混淆,您应该一次对一个插件进行故障排除。更改文件夹的名称,尝试重新加载您的网站,看看它是否仍然显示 502 错误。如果是,请恢复文件夹的原始名称。对每个文件夹重复此过程,直到找到导致错误的文件夹,或者直到您测试了每个插件。您可以使用相同的过程来测试您的活动主题,这将强制WordPress使用其默认主题之一。
如果你的插件或主题之一是导致502错误,你可以完全删除它,并寻找一个替代品。如果它已过时,您也可以尝试更新它,看看是否能解决问题。在某些情况下,问题脚本会很快得到修补,因此您以后可以随时继续使用该插件或主题。
其他快速(潜在)修复
现在,如果502错误是由您端的某些原因而不是服务器端引起的,则上述这些修复程序可能会找到并修复罪魁祸首。如果它没有消失,请记住,我们建议您联系您的网络主机,让他们对服务器进行分类并诊断那里的任何问题。
也就是说,您可以通过执行一些快速检查来帮助加快流程。
这些检查中的第一个是您的站点可能已保存的任何日志。如果是WordPress,则有多种查看方式。我们有一篇关于使用这些日志来改进您的网站的可靠文章,在这里可能会有所帮助。运行5.0或更高版本的WP站点配备了站点运行状况工具,您可以在管理仪表板中查看该工具,因此请确保您了解它的内容。
您还可以确保浏览器的cookie是清晰的。这些与缓存完全分开,我们并不总是想清除它们。如果您将任何信息保存在浏览器中,这会将其清除。但是这些相同的cookie也可能对您和这些站点之间的连接进行502,因此它可以是Catch-22。无论哪种方式,在任何主要浏览器中清除cookie都非常容易。
如果您的网站停止运行,则可能是后台有些内容需要更多时间来执行。您可以通过编辑您的functions.php文件来增加WordPress站点允许的执行时间。如果您不在WP上,您也可以通过.htaccess或php.ini来完成。Thimpress有一个关于如何完成这一切的很好的指南。
最后,您可以检查DNS错误。这意味着您已经移动了主机或更改为不同类型的计划或服务器本身。您可能已经调整了名称服务器或任何可能出错的事情。DNS设置非常具体,容易出现配置错误。因此,进入您的cPanel或仪表板,确保您的主机和域注册商之间的所有内容以及您网站本身的设置都一致。有时,电线被交叉或一个错字会阻止其轨道上的一切。在这里进行一点 DNS 校对可以大有帮助。
如果您真的有兴趣确保您的DNS正常,您可以启动终端并手动刷新您的DNS缓存。
小结
对WordPress错误进行故障排除通常比您想象的要容易。即使是有很多潜在原因的问题,例如502错误网关错误,也得到了很好的理解和记录。在找到一个可行的解决方案之前,您可能需要尝试多种解决方案,但如果您按照正确的说明进行操作,故障排除过程应该不会花费太长时间。
如果您在网站上遇到502 bad gateway错误,并且几分钟后仍未消失,则问题很可能出在您的身上。只需完成我们上面提到的流程和技巧,您和您的用户就会立即回到您的网站上。
闪电博=
Wbolt=