服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - 502 bad gateway是什么意思?怎么解决?

502 bad gateway是什么意思?怎么解决?

2020-08-02 21:57服务器之家 服务器知识

最近在和朋友聊天时,发现他们普遍遇到502 bad gateway,网站处于打不开的状态,但又不知道502 bad gateway是什么意思,碰见502 bad gateway该如何去解决处理呢?下面给大家分享一下在遇见502 bad gateway时,我们应该如何去解决?希望对大家有

最近在和朋友聊天时,发现他们普遍遇到502 bad gateway,网站处于打不开的状态,但又不知道502 bad gateway是什么意思,碰见502 bad gateway该如何去解决处理呢?下面给大家分享一下在遇见502 bad gateway时,我们应该如何去解决?希望对大家有所帮助。

502 bad gateway是什么意思?怎么解决?

一、什么是502 bad gateway?

通俗的来讲,502 bad gateway代表您所访问的网站出了问题,因为502 bad gateway服务器作为网关或者代理时,是为了完成访问下一个服务器,但该服务器返回了非法的应答。也许是暂时的,也许是的。建议大家稍等一下再从新访问试试。

二、502 bad gateway产生原因?

502 bad gateway产生的大多数原因都是由于连接超时,我们向服务器发送请求,由于服务器当前的链接数太多,导致服务器无法给于正常的响应,才会产生502 bad gateway报错。

一般来说,服务器只是作为网关或代理,以满足客户的要求(如Web浏览器)来访问我们所请求的URL。服务器收到无效的响应从上游服务器访问请行它的要求。这并不意味着上游服务器已关闭(无响应网关/代理),而是上游服务器和网关/代理不同意协议交换数据。由于互联网协议是固定的,所以,这意味着一个或两个机器已经不正确或没有完全编程。

三、固定502错误产生原因?

一般这个问题是由于不良的IP之间的沟通后端计算机,可能包括在Web服务器上的网站您尝试访问。在分析这个问题,您应该清除浏览器缓存再访问。

如果您上网时在您尝试访问的所有网站上都看这个问题,有两种可能

①你的ISP重大设备故障/过载

②有问题的内部互联网连接如您的防火墙无法正常运作。

在种情况下,只有您的ISP可以帮助您。在第二种情况下,你需要解决什么,那是阻止你进入互联网。

如果您只有在部分尝试访问的网站中出现此问题,那很可能是一个问题,即这些网站之一,其设备故障或超载。联系你网站的管理员。

四、502 bad gateway解决方法?

1、刷新

说白了很简单是——刷新(不是一般的刷新哦)

这里所讲的刷新主要是指从服务器下载数据到本地的硬盘浏览器,再从本地硬盘中读取数据到浏览器显示给我们看。通常有两种刷新模式:

①基本刷新:是点击刷新或者使用F5快捷键

基本刷新只是从本地的硬盘重新拿取数据到浏览器,并不重新向服务器发出请求。大部分用户很多时候都是这样刷新的,遇到502报错的没有任何效果。

②从服务器刷新:如果你重新直接点击你想要浏览的网页链接,你会发现刚刚还显示的"502 bad gateway"错误信息页面,重新点击链接后又可以正常浏览。

解决方法:是从服务器上刷新:快捷键ctrl+F5,这样是重新向服务器发送请求了,如果服务器能正常给予你响应你可以看到页面了。

2、DNS缓冲问题

这种情况主要是你在没有用vpn的情况下,访问了国外一些被国家防火墙屏蔽的网站如YouTube,facebook之类。

解决办法:这种情况通常在几分钟之内可以访问了。也可以尝试在cmd窗口运行ipconfig/flushdns来刷新DNS缓存

3、dns被劫持

解决办法:更换DNS,推荐114.114.114.114,还有阿里的公共DNS如:223.5.5.5、223.6.6.6

五、Nginx 502 bad gateway错误

①查看php-cgi是否在运行

有时候由于网站流量过大或者其它原因,导致php-cgi直接down掉,所以我们得看php-cgi是否在运行。执行以下命令:

ps-A|grepphp5-cgi

若没有运行,我们可以手动启动

/etc/init.d/php_cgistart

如果你发现php-cgi不明原因有时候down掉,可以使用下面的脚本临时解决这个问题,添加到cronjob。

ifpsaux|grep‘php5-cgi’|grep-vgrep>/dev/null;thenecho"PHP-cgiisrunnning!"elseecho"PHP-cgiisdown.Startingover…"/etc/init.d/php-fcgistartfi

②fastcgi进程数不够用、php执行时间长的原因

fastcgi进程数可以修改php-fpm.conf中的max_children的数值,高峰时php-cgi耗掉的内存为20M,请根据自己的内存情况计算了。

限制php执行时间可以在php-fpm.conf中的request_terminate_timeout设置,这是为了防止php程序的bug导致php-cgi假死。

③FastCGI执行时间过长

根据实际情况调高以下参数值

fastcgi_connect_timeout300;fastcgi_send_timeout300;fastcgi_read_timeout300;

六、解决nginx出现502的错误

①查看当前的PHPFastCGI进程数是否够用

netstat-anpo|grep"php-cgi"|wc-l

如果实际使用的"FastCGI进程数"接近预设的"FastCGI进程数",那么,说明"FastCGI进程数"不够用,需要增大。

②部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间

例如,系统当前的PHPFastCGI进程数明显超过了预设值的64这个数值,在电信的服务器上查看当前的PHPFastCGI进程数没有高于64这个数值,而且网通线路的活动连接明显高于电信的活动连接,由此可以说明出现nginx不稳定的情况是由于服务器访问负载过大引起的。

总结:php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误。

延伸 · 阅读

精彩推荐