502 Bad Gateway产生的原因及8个详细的解决方法总结

  目录

  1. 复现错误

  今天打开某网站时,却报出如下的错误信息:

  即报出的错误信息,这个错误信息是什么,又该如何解决呢?

  接下来,我便详细分析。

  2. 分析错误

  2.1 502系列错误代码

  是一种协议的服务器端错误状态代码,它表示作为网关或代理角色的服务器,从上游服务器(如、)中接收到的响应是无效的。

  在计算机网络体系中可以指代不同的设备,错误通常不是客户端能够修复的,而是需要由途径的服务器或者代理服务器对其进行修复。

  系列错误代码如下列表所示:

  2.2 5XX系列错误代码

  3. 产生502错误的原因

  连接超时,我们向服务器器发送请求时,由于服务器当前连接太多,导致服务器方面无法给于正常的响应,产生此类报错。

  具体如所示:

  原因1

  缓冲,针对这种情况,通常是因为你在未开启的情况下,访问了这样的网站。

  此时,你自然访问不上,同时却在本机留下了缓冲。

  这种情况通常在几分钟之内就可以访问了。

  也可以尝试在窗口运行,该命令会刷新缓冲。

  原因2

  你的浏览器开了代理什么的,确认一下关掉代理。

  原因3

  被劫持,即使使用国外的,也会被劫持。

  有些机子开能够访问,但有些机子不能。

  排除了代理、防火墙、本地网络的原因,此时同时远程网站,比如。

  不能访问的机子,通常获取了一个怪异的, 从任何地方都不通的。

  能访问的机子,在不能访问的机子上直接可以访问,也可以通。这种情况我们可以去掉服务器的。

  切换另外的。在系统中,可以在本地网络连接的属性中, 去掉默认的,选用国外的,比如或。

  4. 解决502错误的方法

  错误的原因及解决方法如下所示。

  多数是后端的问题, 简单的情况,可以按强制刷新解决。

  如果无法强制刷新,可以使用强制刷新。

  在当中,有两个参数非常的重要:

  具体的原因,必须要查看日志,才可以弄明白!

  1.检查基础设置

  修改文件中的 ,把改成。

  执行超时,修改文件中的, 将为。

  2.检查进程是否启动

  执行的如下命令,查看是否启动了服务:

  ps aux | grep php

  3.检查进程数是否足够

  执行的如下命令:

  netstat -anpo | grep “php-cgi” | wc -l

  判断是否接近进程,接近配置文件中设置的数值,表明进程数设置太少。

  4.检查执行时间是否超时

  程序执行时间超过了等待时间,可以适当增加配置文件中的时间,根据实际情况调高以下参数值:

  fastcgi_connect_timeout 300;

  fastcgi_send_timeout 300;

  fastcgi_read_timeout 300;

  5.检查是否足够

  和一样,有前端缓冲限制,可以调整缓冲参数,如下所示:

  fastcgi_buffer_size 32k;

  fastcgi_buffers 8 32k;

  6.检查缓冲区的设置是否过小

  首先查找日志文件,目录,在日志中发现了如下错误:

  [error] 15421

  #0: *16 upstream sent too big header while reading response header from upstream

  意思是缓冲区造成,网站页面占用缓冲区可能过大。

  增加缓冲区彻底解决了,方法如下:

  http {

  ...

  fastcgi_buffers 8 16k;

  fastcgi_buffer_size 32k;

  ...

  }

  请根据服务器已经网站的情况自行增大上述两个配置项。

  7.检查代理缓冲区的设置是否过小

  这是使用了反向代理的情况。

  如果过大,超出了默认的,就会引发,如下所示:

  server {

  listen 80;

  server_name *.test.com;

  location / {

  # 加这3行

  proxy_buffer_size 64k;

  proxy_buffers 32 32k;

  proxy_busy_buffers_size 128k;

  # 添加这3行

  proxy_set_header Host $host;

  proxy_set_header X-Real-IP $remote_addr;

  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

  ...

  }

  }

  8.检查默认的的进程数设置是否过少

  在安装好使用过程中出现问题,一般是因为默认进程是个。

  可能因为进程不够用而造成,需要修改将其中的的值适当增加,也有可能是的值不够用。

  需要说明的是这连个配置项占用内存很大,请根据服务器配置进行设置。否则可能起到反效果。

  5. 补充说明

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

  1.你的重大设备故障/过载

  在种情况下,只有您的可以帮助您。

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

  你需要解决什么,那是阻止你进入互联网。

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

  6. 参考文档

  https://www.jb51.net/article/258603.htm

  总结

  到此这篇关于502 Bad Gateway产生的原因及8个详细的解决方法的文章就介绍到这了,更多相关502 Bad Gateway的原因及解决内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

  您可能感兴趣的文章: