设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 686|回复: 0

502严重的网关错误及如何修复

[复制链接]

307

主题

0

回帖

925

积分

高级会员

积分
925
发表于 2023-12-26 10:52:06 | 显示全部楼层 |阅读模式
    

HTTP 504 Gateway Timeout和HTTP 502 Bad Gateway Error是WordPress网站访问者和所有者最常见的服务器错误。在我的前一篇文章中,我们已经讨论了504网关超时错误的原因和可能的解决方案。在本文中,我们将了解502 Bad Gateway错误是什么,讨论502 Bad Gateway错误的原因,并探讨解决这类错误的一些技巧。502 Bad Gateway是什么意思?在定义什么是502 Bad Gateway错误之前,让我们深入研究服务器基础结构并找出一些术语的含义,如web服务器、代理服务器或网关和上游服务器。让我们首先讨论托管现代web应用程序是如何工作的。为此,我们需要三个角色:

,web应用程序,网关,web服务器

。从下图中你可以看到PHP现代web应用程序的工作流程。web应用程序是一种应用软件,它可以用不同的编程语言进行编码,并且可以使用特定的框架或库。它通常具有处理HTTP请求的工具。对于你的WordPress网站,web应用程序是你的WordPress安装,它是用PHP编码的。网关位于web服务器(Nginx, Apache)和web应用程序之间。它接受来自web服务器的请求,并将其转换为web应用程序。网关的确切定义有些不确定。有些称自己为进程管理器,有些称自己为HTTP服务器。监听请求(HTTP, FastCGI, uWSGI等)将请求转换为应用程序代码生成多个进程和/或应用程序线程监视生成的进程在进程之间加载平衡请求报告/记录

PHP- fpm (PHP-FastCGI进程管理器)是PHP的网关。它是FastCGI的实现,将侦听来自web服务器的FastCGI请求。

FastCGI是一个用于将交互式程序与web服务器连接的二进制协议。CGI(通用网关接口)是一种网络技术和协议,它描述了一种网络服务器与外部应用程序(如PHP)通信的方式。CGI是web服务器和动态web内容之间的接口,这些内容是由用不同编程语言编写的web应用程序生成的,如PHP、Python等。FastCGI是CGI的改进版本。运行PHP应用程序的一种现代方法是使用PHP- fpm。在PHP- fpm之前,PHP通常直接在Apache中运行,不需要网关。Apache的PHP模块直接加载PHP,允许PHP与任何处理过的文件一起运行。web服务器通常承载多个站点,提供静态文件,代理请求到其他进程,执行负载平衡和HTTP缓存。最流行的web服务器是Apache和Nginx。Apache曾经是最广泛的web服务器,直到Nginx变得更流行。在10Web我们支持LEMP栈,它类似于LAMP (Linux, Apache, MySQL和PHP),除了Apache被Nginx取代。当你在浏览器中打开由10Web托管的WordPress网站时会发生什么?在本例中,web服务器Nginx接受请求并将其转发给PHP- fpm,后者反过来解释PHP代码。响应被传回,最终到达客户端。在这种情况下,Ngnix就像一个代理服务器,在大多数情况下被称为边缘服务器。代理服务器后面的服务器称为上游服务器或源服务器。在这种情况下,PHP-FPM充当上游服务器。现在我们已经完全理解了上述术语,让我们最终理解502 Bad Gateway错误是什么。什么是502坏网关错误?当web服务器作为代理服务器并从上游服务器收到无效响应时,我们面临一个502 Bad Gateway错误。一个502糟糕的网关Ror表示代理服务器(即边缘服务器)无法从上游服务器(即原始服务器)获得有效响应。当您看到一个502 Bad Gateway错误时,这意味着上游服务器有问题。这可能是因为各种各样的原因,我们将在本文中讨论这些原因。根据操作系统、浏览器和设备的不同,502 Bad Gateway错误可以以不同的方式出现。 一些网站自定义502 Bad Gateway页面。 平台也可以更改错误的消息。因此,对于同一个错误,你可能会遇到不同的消息,但它们都有相同的含义: 502 Bad Gateway HTTP error 502 Bad Gateway error 502 HTTP 502 HTTP error 502 - Bad Gateway 502 Proxy error 502 Server error:服务器遇到临时错误,无法完成您的请求。502网关错误NGINX 502。这是一个错误。服务器遇到临时错误,无法完成您的请求。请30秒后再试。这就是我们所知道的。502 Bad Gateway错误背后的原因是什么?5xx状态码表示服务器有问题,502也不例外。由于某种原因,代理服务器无法从上游服务器获得响应或有效响应。在你的带有Nginx/PHP-FPM堆栈的WordPress网站中,当PHP-FPM没有运行或Nginx由于某种原因无法与PHP-FPM通信时,可能会发生502错误。这种情况应该由托管提供商检查。另一个原因可能是PHP-FPM超时问题,我们将在后面讨论这个问题。Nginx和PHP-FPM之间的任何误解都可能导致502 Bad Gateway错误。虽然这些错误与服务器端问题有关,但在客户端有一些排除故障的提示。



让我们回顾一下客户机和服务器端的故障排除。这里有一些从客户端修复502 Bad Gateway错误的非常简单的方法。您应该做的第一件事是重新加载页面并等待一分钟。如果502 Bad Gateway错误消失,则意味着上游服务器或服务器之间的网络存在临时问题。如果错误仍然存在,检查站点是否对所有人都关闭了。你可以用它现在坏了吗?对于这个。如果该网站对除您之外的所有人都开放,请在其他浏览器上或以私有模式打开该网站。另一个简单的提示是清除浏览器缓存。如果在清理缓存后错误消失,这意味着一个临时的问题已经解决,但因为缓存,你一直看到502坏网关错误模板,而不是你的网站。如果错误仍然存在,请尝试下一个技巧。 Flush DNS cache

由于DNS问题,可能会出现502 Bad Gateway错误。Linux、Windows和macOS等操作系统以DNS缓存的形式保存名称解析信息。在许多情况下,清除DNS缓存可以解决502 Bad Gateway错误。下面是可以用于在Windows、MacOs和Linux上刷新DNS缓存的命令。在macOS上,你应该打开终端并输入: sudo killall -HUP mDNSResponder

处理完这个命令后没有消息,但是你可以通过运行如下命令添加你自己的消息: sudo killall -HUP mDNSResponder;在Linux中情况有所不同,因为不同的Linux发行版使用不同的dns服务。其中一些是NSCD(名称服务缓存守护进程)、dnsmasq和BIND (Berkeley Internet Name Domain)。NSCD DNS缓存:

sudo /etc/init.d/nscd restart

对于dnsmasq DNS缓存: sudo /etc/init. . shBIND DNS缓存:

sudo /etc/init. . d/dnsmasq restart

d /命名重启sudo rndc重启sudo rndc exec  

如果终端要求输入密码,请输入。 Change DNS servers

您也可以尝试临时更改您的DNS服务器。关于更改DNS服务器的更多信息可以在本文中找到:更改您的DNS服务器设置。如果你正在使用Cloudflare  

Cloudflare返回一个Cloudflare标记的HTTP 502错误,当你的原始web服务器响应一个标准的HTTP 502坏网关:   这意味着你的原始服务器有问题,你可以尝试使用上面描述的技巧来解决问题。如果502错误来自Cloudflare,页面看起来像这样: 如果错误包含单词“Cloudflare”,问题来自Cloudflare,否则,它来自源服务器。在第一种情况下,您可以联系Cloudflare支持,在第二种情况下,您可以遵循所描述的技巧。如果没有帮助,请联系您的主机提供商。有关Cloudflare 5xx错误的详细信息,请参阅Cloudflare 5xx错误的故障排除。我们已经讨论了一些可以帮助您排除502 Bad Gateway错误的客户端提示。现在让我们看看在服务器端可以做些什么。第一步是重新启动PHP。使用10Web,您可以通过转到托管服务>工具并单击蓝色的“重启PHP”按钮来完成此操作。   如果您的主机没有提供重新启动PHP的接口,请他们为您重新启动PHP。检查服务器错误日志可以为您提供关于502 Bad Gateway错误的非常有用的信息。使用10Web,您可以通过主机服务>日志轻松检查服务器日志。   如果你可以访问你的文件系统,你可以检查服务器日志。在Nginx web服务器的情况下,你可以在这里找到日志: /var/log/nginx

在Apache web服务器的情况下,日志在这个存储库中: /var/log/apache2不适当的防火墙配置

不适当的防火墙配置可以导致502 Bad Gateway errors。防火墙是一种网络安全系统,它根据预定的安全规则对出入的网络流量进行监控和控制。它通常在可信网络和不可信网络之间建立一个屏障。在某些情况下,一些尴尬的防火墙设置可能会认为安全有效的内容是恶意的,因此,切断流量,进而导致502 Bad Gateway错误。检查您的防火墙配置,以发现任何不适当的配置。WordPress插件和主题中的非最佳代码也会导致502个错误。所以,检查你的插件和主题。如果你可以访问你的WordPress管理员,禁用你所有的插件,如果错误消失了,这意味着至少有一个有罪的插件。然后逐一激活它们,找出那些有罪的。如果你的WordPress管理区域因为这个错误无法访问,但你可以访问你的WordPress文件,只要在wp-content中重命名插件目录。它将停用所有插件。然后开始一个一个地激活它们。如果不是插件的问题,那就是去激活所有的插件或者重命名插件目录不会改变任何东西,试着将你的主题临时更改为WordPress的默认主题。一旦你发现了不好的插件或主题,联系相关的支持团队并描述问题。别忘了让你的插件、主题和WordPress核心保持最新。这将帮助您避免许多问题,包括502个错误。如果您的服务器上的PHP-FPM服务是不活动的或没有运行,您将得到一个502错误。如果您可以访问您的主机,您可以通过运行以下命令之一来检查这一点。对于SysVinit: sudo service php7.4-fpm status

对于SystemD: sudo systemctl status php7.4-fpm

如果服务是active且正在运行,命令的输出如下:   如果状态不是Active: Active(正在运行),尝试使用以下命令之一重新启动PHP-FPM服务来解决错误。For SysVinit: sudo service php7.4-fpm restart

For SystemD: sudo systemctl restart php7.4-fpm Timeout issues

502错误可能是由PHP-FPM超时引起的。如果应用程序的响应时间过长,用户将遇到超时错误。如果PHP-FPM超时时间小于Nginx超时时间,Nginx将返回一个502 Bad Gateway错误。为了避免这种情况,如果可以访问服务器,可以增加PHP-FPM超时时间。

PHP-FPM超时在池配置中设置,该池配置为如果您无法访问您的服务器,请让您的托管提供商检查它。为了避免在增加PHP-FPM超时后得到504错误,这可能是由于Nginx超时,默认是60秒,你可以在/etc/nginx/nginx.conf文件增加fastcgi_read_timeout指令。不要忘记在修改指令后重新加载Nginx服务器:

Nginx -s reload

PHP执行时间错误也会导致502 Bad Gateway错误。为了避免这种情况,可以增加PHP配置,例如max_exexution_time和max_input_time。如果您有服务器访问权限,只需更改php.ini文件中的这些指令。如果没有,请您的主机托管提供商为您做。404错误和502错误的区别是什么?

当网页服务器无法找到内容时,会出现404 Not Found错误。当代理服务器无法得到任何响应或从上游服务器得到无效响应时,就会发生502 Bad Gateway错误。当请求的内容被删除或不存在时,您会遇到404。当上游服务器或原始服务器出现问题或代理和上游服务器之间的通信出现问题时,您会看到502个错误。网站上的502、503和504错误消息有什么区别?

当代理服务器没有从上游或源服务器获得有效响应时,您得到了一个502 Bad Gateway错误。504当代理服务器无法及时收到上游服务器的响应时,发生网关超时错误。503 Service Unavailable错误表示服务器还没有准备好处理请求,这种情况发生在服务器停机维护或过载时。“502个错误对网站排名有影响吗?”

502糟糕的网关错误会对网站排名产生重大影响。如果错误持续几分钟,你不必担心对SEO的负面影响。如果在此期间正在爬取页面,那么爬虫程序可以从缓存加载它。但是如果这个错误持续了几个小时,您就需要担心了。在这种情况下,谷歌将看到502错误,这可能会对您的排名产生负面影响。当PHP在命令行中工作,但在浏览器中返回502错误时,我该怎么办?发生

502错误是因为代理和上游服务器之间的通信不好。当你在命令行中运行PHP时,你不需要web服务器,PHP直接为你工作。要找出502错误的原因,请阅读上述提示。访问我们的主页,了解更多关于第一个人工智能支持的WordPress平台的信息。现在你已经完全理解了502错误是什么,以及为什么它们会出现在你的网站上。我们讨论了这些错误的各种可能原因,并描述了许多帮助您找到解决方案的故障排除方法。

现在就这些了。请随意留下评论,让我们知道我们是否为您提供了合适的方法来排除您的包网关错误!你喜欢这篇文章吗?传播这个词!留言取消回复

您的电子邮件地址将不会被公布。必填字段标记为*

您的电子邮件地址将永远不会被发布或共享。必选字段标记为*

COMMENT*

NAME *“kd









相关帖子504网关超时错误和如何修复它WordPress 5.7:最新版本的新功能最终WordPress托管比较(2022)如何用6个简单步骤保护WordPress网站# WordPress
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|跨境圈导航 ( 粤ICP备19025394号 )

GMT+8, 2024-11-22 13:01 , Processed in 0.055802 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表