如何修复WordPress网站Cloudflare 502 bad gateway错误
错误类型: HTTP错误 错误名称: 502错误网关 英文名称: 502 bad gateway 错误描述: 502 bad gateway错误会时不时地弹出,这通常意味着您的服务器有问题。
运营一个网站最令人沮丧的一个方面是,当你不知道为什么会发生错误时,你必须排除错误。有些问题(如502坏网关错误)有许多潜在的原因。这意味着你可能要尝试多种解决方案才能找到合适的。在本文中,我们将向您展示如何导航和解决这个棘手的错误。
什么是502坏网关错误(为什么会发生)
502坏网关错误会时不时的弹出来,这通常意味着你的服务器有问题。
当您访问网站时,您的浏览器会向托管该网站的服务器发送一个或多个请求。如果一切正常,服务器将发回您的浏览器请求的信息,然后网站将加载。另一方面,当服务器发回“无效”响应时,会发生502坏网关错误。这可能意味着连接超时,也可能是其他几个问题的结果。
来自Mozilla开发者网络,官方定义是:
超文本传输协议(HTTP) 502错误网关服务器错误响应代码表示服务器在充当网关或代理时收到了来自上游服务器的无效响应。
到目前为止,这听起来可能很简单。但是,你的浏览器和大部分网站的连接已经不像以前那么简单了。例如,您的浏览器请求在到达相关主机之前可能会通过代理服务器进行路由,因此可能很难确定问题出在哪里。很多网站还会使用多个服务器,这让事情变得更加复杂,因为其中任何一个都可能是502错误的原因。
所有这些意味着这个特定的错误代码有一些潜在的原因。这可能是以下结果:
数据库出错。
超时、当前不可用或未按预期工作的服务器。
服务器因请求过多而超载。也许是DDOS攻击,甚至只是比预期更大的流量峰值。
您的反向代理服务器有问题。
错误的PHP脚本,由你的插件或主题提供。
好消息是,如果问题出在服务器端,您可能不需要做任何事情。在这些情况下,你的主机服务提供商通常会迅速采取行动(因为客户通常不喜欢停机)。在收到您的网站受到502错误影响的通知后,您应该确保尽快联系您的主机支持团队。
考虑到这一点,我们将把重点放在如果502坏网关错误没有很快自行消失该怎么办。毕竟,大多数网站无法承受一次停机几个小时,所以如果这个错误持续存在,就该开始排除故障了。
如何修复502坏网关错误
在进入故障排除模式之前,您可以运行一个快速测试来确定您的服务器是否正常响应。您可以先尝试运行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选项卡。在里面,您会发现正在运行的服务的属性列表。然后,你需要在“暂停网站”部分找到大的“暂停”按钮,并点击它:
现在,当你试图访问你的网站时,它的源服务器会响应请求,不会受到任何中间人的阻碍。如果502错误消失了,那么你的CDN可能就是问题的根源。在大多数情况下,您只需等待几个小时即可重新启用该服务。当然,一定要检查,确保事后错误依然消失。
如果您使用另一个CDN,您需要查看其文档,了解如何暂时禁用该服务的说明。但是,如果你的CDN没有问题,那么你可以尝试另一种修复方法。
测试WordPress主题和插件
到目前为止,我们已经讨论了502错误背后的三个潜在原因:你的服务器,你的浏览器和中间人服务,如CDN。如果你确定问题出在你这边,只有一个选择,那就是你的网站。如果你以独占方式运行WordPress,你的插件或主题可能会试图执行你的服务器无法正确加载的脚本。当您的浏览器发送请求时,这可能会导致无效响应,从而触发502错误。
您一次只能有一个活动主题,因此您可以简单地停用当前主题,并暂时切换到默认的WordPress主题,看看是否可以解决这个错误。另一方面,根据当前活动插件的数量,确定插件是否导致问题可能需要更多时间。
因为这个错误,目前无法访问仪表盘,需要手动禁用插件和主题。记住,这个过程不涉及删除插件和主题,只需要一会儿就可以重新激活。所以你网站的功能应该不会受到影响。即便如此,你也应该准备好最近的备份以防万一。
然后,打开您选择的FTP客户端。我们习惯性地使用FileZilla,下面我们也将以它为例。通过FTP登录到您的网站,然后导航到public _ html–WP-content–plugins文件夹。每个安装的插件都应该有一个文件夹——即使是那些不活动的:
如果你右击这些文件夹中的任何一个,你会看到多个选项,包括一个标有重命名的选项。现在单击它,将文件夹的名称改为disabled.pluginname:
当你现在访问你的网站时,WordPress将找不到插件,所以它会在没有插件的情况下加载。如果您刚刚停用的插件导致502错误,您的网站应该能够正确加载。可以肯定的是,记得使用CTRL+F5命令(或OS X等效命令)来强制浏览器在重新加载网站之前删除其缓存。
为了避免混淆,您应该一次对一个插件进行故障诊断。更改文件夹的名称,并尝试重新加载您的网站,看看它是否仍然显示502错误。如果是,请恢复文件夹的原始名称。对每个文件夹重复这个过程,直到找到导致错误的文件夹,或者测试每个插件。你可以使用同样的过程来测试你的活动主题,这将迫使WordPress使用它的一个默认主题。
如果你的一个插件或主题导致了502错误,你可以完全删除它,然后寻找一个替代品。如果过时了,也可以尝试更新一下,看看是否能解决问题。在某些情况下,问题脚本会很快得到修补,因此您可以在未来的任何时间继续使用该插件或主题。
其他快速(潜在)修复
现在,如果502错误是由您这边的某些东西引起的,而不是由服务器端引起的,那么上面提到的这些修复可能会找到并修复罪魁祸首。如果它没有消失,请记住,我们建议您联系您的web主机,请他们对服务器进行分类,并诊断那里的任何问题。
也就是说,您可以通过执行一些快速检查来帮助加快这个过程。
这些检查中的第一项是您的站点可能保存的任何日志。如果是WordPress,有多种查看方式。我们有一篇关于使用这些日志来改进您的网站的可靠文章,在这里可能会有所帮助。运行5.0或更高版本的WP网站配备了站点健康工具,您可以在管理仪表板中查看该工具,因此请确保您了解其内容。
您还可以确保您浏览器的cookie是透明的。这些与缓存是完全分开的,我们并不总是想清除它们。如果您在浏览器中保存了任何信息,这将清除这些信息。但是这些相同的cookie也可能在你和这些网站之间建立502连接,所以它可能是第22条军规。无论哪种方式,在任何主流浏览器中清除cookie都非常容易。
如果你的网站停止运行,可能是后台的某些内容需要更多的时间来执行。你可以通过编辑你的functions.php文件来增加WordPress网站允许的执行时间。如果你不在WP上,也可以通过。htaccess或php.ini Thimpress有一个很好的指南,告诉你如何做到这一切。
最后,您可以检查DNS错误。这意味着您已经移动了主机或更改为不同类型的计划或服务器本身。您可能已经调整了名称服务器或任何可能出错的地方。DNS设置非常具体,容易出现配置错误。所以,进入你的cPanel或dashboard,确保你的主机和域名注册商之间的一切以及你的网站本身的设置是一致的。有时,一根交叉的电线或一个错别字会让所有东西停下来。这里的一点DNS校对可以走很长的路。
如果您真的对确保您的DNS正常感兴趣,您可以启动终端并手动刷新您的DNS缓存。
总结
排除WordPress错误通常比你想象的要简单。甚至有许多潜在原因的问题,如502错误网关错误,都被很好地理解和记录。在找到可行的解决方案之前,您可能需要尝试多种解决方案,但是如果您遵循正确的说明,故障排除过程应该不会花费太长时间。
如果你在网站上遇到502坏网关错误,几分钟后仍然没有消失,问题很可能是你的错。只要完成上面提到的过程和技巧,你和你的用户就会立刻回到你的网站。