当涉及到WordPress,有很多不同的错误,可以是令人感到很烦恼。502错误的是出现频率很高的网关错误。为什么?因为这种情况经常发生在整个网络上,不仅包括WordPress网站,还包括Gmail,Twitter和Cloudflare等流行服务。但是,当然,我们真的只关心它是如何影响你的WordPress网站。网站建设公司了解导致此错误的原因以及如何快速解决此问题的一些解决方案。
什么是502错误?
每次访问网站时,浏览器都会向Web服务器发送请求。Web服务器接收并处理请求,然后将请求的资源连同HTTP头和HTTP状态码一起发回 。通常情况下,除非出现错误,否则不会看到HTTP状态码。这基本上是服务器通知你有什么问题的方式,以及如何诊断它的代码。
有许多不同类型的500个状态的错误代码(500,501,502,503,504等),其都具有略微不同的含义。这些表明请求已被接受,但服务器阻止了请求的完成。在这种情况下,502错误的网关错误具体意味着,一个服务器作为网关或代理,已经 收到 来自入站服务器的无效响应(RFC 7231,第6.6.3节)。
502错误的网关错误变化
由于各种浏览器,Web服务器和操作系统,502错误的网关错误可以以多种不同的方式呈现。但是他们都有相同的意思。以下只是您可能在网上看到的许多不同变化的一些:
- “502错误的网关”
- “错误502”
- “HTTP错误502 – 错误的网关”
- “502服务暂时超载”
- “502代理错误”
- “502服务器错误:服务器遇到临时错误,无法完成您的请求”
- “HTTP 502”
- “502。这是一个错误。服务器遇到临时错误,无法完成您的请求。请在30秒后重试。我们知道的就这些。”
您可能会看到的另一个变体是“502服务器错误”。
其他服务,如Twitter甚至可能会显示502错误网关错误的完全不同的消息,如“Twitter是超容量”。这绝对看起来更方便用户。
如何解决502错误的网关错误
502错误的网关错误通常是网络/服务器的问题,但也可能是客户端问题。所以我们会深入一点。查看这些常见原因和方法来修复502错误的网关错误,并恢复正常运行。
1.尝试重新加载页面
遇到502错误网关错误时,应该尝试的最简单和首要的事情之一是等待一分钟左右,然后 重新加载页面 (F5或Ctrl + F5)。这可能是主机或服务器只是超载,网站会马上回来。当你在等待的时候,你也可以快速尝试不同的浏览器来排除这个问题。
你可以做的另一件事是将网站粘贴到 downforeveryoneorjustme.com。这个网站会告诉你,如果该网站已关闭,或者如果这是你的问题。
2.清除您的浏览器缓存
每当遇到像这样的问题时,清理浏览器缓存可能会很好。以下是有关如何在各种浏览器中执行操作的说明:
3. DNS问题
502网关错误也可能是由于DNS问题,例如域未解析为正确的IP。如果您刚刚将您的WordPress网站迁移到新的主机,等待域名解析生效是非常重要的,在某些情况下可能需要长达24小时。这取决于您的DNS记录的TTL值。
您也可以尝试刷新本地DNS缓存。这与清除浏览器缓存很相似。
在Windows中,只需打开命令提示符并输入以下内容:
ipconfig / flushdns
你应该看到一个“成功刷新DNS解析器缓存”,如果它的工作。
对于macOS用户,您可以在终端中输入以下内容:
dscacheutil -flushcache
注意:Mac上没有成功消息。
最后,您可以临时更改您的DNS服务器。默认情况下,DNS服务器是由您的ISP自动分配的。但是,您可以尝试暂时将其更改为 公用DNS服务器,例如阿里dns。事实上,有些人更喜欢长期使用阿里的公共DNS。
4.检查您的主机
我们通常看到502错误的网关错误的主要原因是由于Web主机的问题。有时 查询,脚本或请求将花费太长时间 ,因此被服务器取消或终止。许多主机,特别是共享主机实现了他们所谓的“杀死脚本”。基本上,它会在一段时间后终止请求,这样它就不会占用站点或影响其他用户。如果你做一个Twitter搜索“ 坏门户 ”,你可以看到每天都有数以千计的微博发出警报,提醒他们的托管公司。
您可能要考虑转移到网站建设托管的主机的一个原因是,我们的平台运行在一个 独立的软件容器中 ,其中包含运行该站点所需的所有软件资源(Linux,NGINX,PHP,MySQL)。这意味着运行每个站点的软件 是100%私有的,甚至不在你自己的站点之间共享。这大大减少了看到502错误的网关错误的机会。我们没有像一些共享主机那样运行攻击性的kill脚本。即使您的某个网站发生故障,也不会影响您的其他网站。
另一个原因,你可以看到你的主机502网关错误,也是由于服务器根本无法访问,因为它已关闭或没有连接。在这种情况下,建议检查您的WordPress主机的 状态页面 或打开支持票。
5.暂时禁用CDN
这也可能是您的 内容交付网络 (CDN)的问题。如果您使用的是第三方CDN提供商,那么简单地解决这个问题就是暂时禁用CDN。例如,我们是免费的CDN启用器插件的大粉丝。如果您使用的是,您可以简单地停用插件,然后测试您的网站。如果您无法访问站点的仪表板,只需通过SFTP登录到您的站点,并将插件的文件夹重命名为cdn-enabler_old。这将暂时禁用CDN连接。WP Rocket或者其他你可能已经连接到CDN的插件也是如此。
有时,提供DDoS保护和缓解的服务提供商或Cloudflare等代理服务也会出现这种情况,因为它们之间有额外的防火墙。我们已经注意到在Cloudflare免费计划中偶尔会发生这种情况。不幸的是,由于Cloudflare是一个完全代理服务,没有简单的方法来禁用它。
然而,在你指责Cloudflare之前,重要的是要知道Cloudflare有两种不同类型的502错误网关错误变化,如下所示:
在Cloudflare 502坏门户(变化1)
如果您看到以下屏幕,这实际上是Cloudflare的一个问题,在这种情况下,您应该联系他们以获得支持。
在Cloudflare 502坏门户(变化2)
如果您看到以下屏幕,则说明您的主机有问题。
6.检查你的插件和主题
很多时候,脚本和查询被服务器取消的原因是由于 WordPress站点上的代码不正确,可能来自第三方插件或主题。我们也看到很多错误配置的缓存插件会生成502错误。解决这个问题的几种方法是停用所有的插件。请记住,如果您只是停用插件,则不会丢失任何数据。
如果您仍然可以访问您的管理员,快速执行此操作的方法是浏览至“插件”,然后从批量操作菜单中选择“取消激活”。这将禁用所有的插件。如果这解决了这个问题,你需要找到罪魁祸首。开始逐个激活它们,每次激活后重新加载站点。当你看到502网关错误返回时,你已经发现这个行为不当的插件。然后,您可以联系插件开发人员寻求帮助,或者在WordPress存储库中发布支持凭单。
如果你不能访问你的管理员,你可以FTP到你的服务器,并重命名你的插件文件夹像plugins_old。然后再次检查您的网站。如果它工作,那么你将需要逐一测试每个插件。将你的插件文件夹重新命名为“插件”,然后将每个插件文件夹重新命名为一个一个,直到找到它。
始终确保您的插件,主题和WordPress核心是最新的。并检查以确保您正在运行受支持的PHP版本。您可以随时联系您的主机寻求帮助。我们在Kinsta使用New Relic和其他故障排除方法来帮助客户缩小插件,查询或脚本可能导致的错误。您也可以使用自己的自定义 New Relic键。
如果事实证明是一个有效的查询或插件中的错误代码,您可能需要引入一个 WordPress开发人员 来解决这个问题。
7.检查日志
您还应该利用 错误日志。如果您是Kinsta客户端,则可以在MyKinsta仪表板的日志查看器中轻松查看错误。这可以帮助您快速缩小问题的范围,特别是当您的网站上有插件时。
如果您的主机没有日志记录工具,您也可以将以下代码添加到您的wp-config.php文件中以启用日志记录:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
日志通常位于/ wp-content目录中。其他人,如在这里在Kinsta可能有一个名为“日志”的专用文件夹。
您也可以检查Apache和NGINX中的日志文件,它们通常位于:
- Apache: /var/log/apache2/error.log
- NGINX: /var/log/nginx/error.log
如果您是Kinsta客户端,则还可以利用我们的 分析工具 获取总共502个错误的细目,并查看它们发生的频率和时间。这可以帮助您排除故障,如果这是一个持续的问题,或者可能已经解决了自己的问题。
8.重新启动PHP
最后,你也可以尝试重新启动PHP。如果您是Kinsta客户端,则可以从amh仪表板中,或者宝塔面板的工具菜单轻松地重新启动PHP。如果你的主机没有提供这个,你总是可以打开一个支持票,并要求他们重新启动PHP。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/wp/260076.html