502 Bad Gateway 常见解决思路

大家好,又见面了,我是你们的朋友全栈君。

一般在访问某些网站或者我们在做本地测试的时候,服务器突然返回502 Bad Gateway Nginx,

这种问题相信大家也遇到不少了,

这里我再总结下几种处理方式,有缺少或者错误的希望有大神能指出。

一般的思维:502,说明服务器没有响应,也就是我们的web服务器没有接到有效的信息导致的。

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

问题:nginx 不断返回 502 等错误。

一般遇到这个问题第一反应就是有可能Nginx挂了(几乎不可能),

所以查看nginx进程,发现运行正常,

然后在查看nginx日志,也没有任何问题。

有时候我们会从nginx日志中发现大量的相同的ip请求,

这种一般都是引起服务挂掉,或者响应不及时的非法请求。

一般都是别人攻击你了。

这种也很好解决,加ip黑名单,黑名单中的ip拒绝提供服务。

我们项目是在拦截器里面配置白名单和黑名单的,这种做法可能也是比较常用的办法。

也可以在nginx里面配置黑名单,拒绝访问。

配置ip黑名单的方法是多种多样的,适合自己的就行。

过多的请求可能导致服务宕机,直接重启也是可以解决的,但是没有找到问题的根本原因。

一般查看服务状态有这么几个linux常用命令。

top命令:可以查看cpu的使用率,如果使用率过高,也可以跟进具体是哪个线程。

https://blog.csdn.net/qq_20545159/article/details/77775122

iotop命令:可以查看磁盘io的使用情况。

如果io特别大,一般都是内存爆了,才会直接和硬盘打交道,才会导致io飙升。

用free查看内存:如果100%,停掉了没用的测试服务,停掉测试服务后,重启平台,一切正常。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148474.html原文链接:https://javaforall.cn