大家好,又见面了,我是你们的朋友全栈君。
一般在访问某些网站或者我们在做本地测试的时候,服务器突然返回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