产生原因
服务器(不一定是Web服务器)是作为网关或代理,以满足客户的要求(如Web浏览器或我们的CheckUpDown机器人)来访问所请求的URL 。此服务器收到无效响应从上游服务器访问履行它的要求。
502 Bad Gateway即在服务器以代理服务器或网关的形式工作时,收到从上游服务器到达的执行请求的非法响应1。
HTTP周期
任何客户端(如Web浏览器或我们的CheckUpDown机器人)经过下列循环时,与您的Web服务器沟通:
获取您的网站IP地址的IP名称(您的网站URL的地址’ http:// ‘ ) 。查找(转换的知识产权名称, IP地址)所提供的域名服务器( DNS Server) 。
打开一个IP套接字连接到该IP地址。
写一个HTTP数据流通过该套接字。
从您的响应的Web服务器收到一个HTTP数据流。此数据流包含状态码的值是由HTTP协议。解析此数据流的状态码和其他有用信息。
这个错误发生在最后一步时,上面的客户端收到一个HTTP状态码,它确认为502 。
502 Bad Gateway 是一种HTTP协议的服务器端错误状态代码,它表示作为网关或代理角色的服务器,从上游服务器(如tomcat、php-fpm)中接收到的响应是无效的。Gateway (网关)在计算机网络体系中可以指代不同的设备,502 错误通常不是客户端能够修复的,而是需要由途径的Web服务器或者代理服务器对其进行修复。2
固定错误
一般出现了这个问题是由于不良的IP之间的沟通后端计算机,包括您可能尝试访问的在Web服务器上的网站。在分析这个问题,您应该先完全清除浏览器缓存。
如果您上网时在您尝试访问的所有网站上都看这个问题,就有两种可能
- ISP出了重大设备故障/过载。
- 有问题的内部互联网连接如您的防火墙无法正常运作。
在第一种情况下,只有您的ISP可以帮助您。在第二种情况下,就需您自己解决任何阻止您进入互联网的问题。 如果您只有在部分尝试访问的网站中出现此问题,那就很可能是一个问题,即这些网站之一,其设备故障或超载。你赶紧联系网站的管理员。
CheckUpDown
在网络上使用代理和缓存增加。我们CheckUpDown机器将总是试图连接到的真正的计算机主机,实际上就是您访问的网站,但是我们并不能完全控制,我们的HTTP请求实际上结束了。如果只有一个环节的计算机处理我们的HTTP请求被打破,然后一个错误,如502可以很容易地发生。
解决办法
简单来说,502是报错类型代码 bad gate way 错误的网关。产生错误的原因是连接超时,我们向服务器发送请求,由于服务器当前链接太多,导致服务器方面无法给于正常的响应,产生此类报错。
最好的解决办法是在服务器上做,但是很难实现,可以选择在服务器上刷新。刷新是有两种的。所谓刷新其实就是从服务器下载数据到本地的内存或硬盘缓冲区中,再从本地内存或硬盘中读取数据到浏览器显示给我们看。
①基本刷新:点击刷新或者使用F5快捷键
基本刷新有可能只是从本地的硬盘重新拿取数据到浏览器,并不一定重新向服务器发出请求。大部分用户很多时候都是这样刷新的,遇到502报错就没有任何效果。
②从服务器刷新: 如果重新直接点击你想要浏览的网页链接,你会发现显示"502 bad gateway"错误信息的页面在点击链接后又可以正常浏览。当点击你想要浏览的网页链接的时候,是会从服务器重新下载数据的。
解决方法就是从服务器上刷新:快捷键 ctrl+F5,这样就是重新向服务器发送请求了。如果服务器能正常给予响应,就可以看到页面了。
相关5XX系列错误代码
- 500 Internal Server ErrorWeb 服务器遇到遇到阻止其无法完成其任务(即客户端请求)的条件时,将显示此错误2
- 501 Not Implemented 服务器无法支持或识别请求方法。 它缺少处理请求的功能,因此它会响应此错误2
- 502 Bad Gateway 服务器之间发生了错误,充当代理或网关时,您的服务器在尝试处理请求时未收到上游服务器的正确响应2
- 503 Service Unavailable 由于正在进行维护或服务器当前过载而导致服务器无法处理请求的临时情况2
- 504 Gateway Timeout 服务器再次充当代理或网关时,没有及时从另一个服务器(例如DNS)获得响应,因此它无法处理请求2
- 505 HTTP Version Not Supported 当您的Web服务器不能或将不支持源自请求的HTTP协议版本时,将发生他的错误。 该错误通常包含服务器为什么不合作的描述2