502 Bad Gateway 常见解决思路

502 Bad Gateway 常见解决思路一般在访问某些网站或者我们在做本地测试的时候,服务器突然返回502BadGatewayNginx,这种问题相信大家也遇到不少了,这里我再总结下几种处理方式,有缺少或者错误的希望有大神能指出。一般的思维:502,说明服务器没有响应,也就是我们的web服务器没有接到有效的信息导致的。产生错误的原因主要是:连接超时,我们向服务器发送请求由于服务器当前链接太多,导致服务器方面无…

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

一般在访问某些网站或者我们在做本地测试的时候,服务器突然返回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.net/148474.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring boot自动配置原理面试题_Spring boot面试

    spring boot自动配置原理面试题_Spring boot面试前言SpringBoot框架是开发中的一大利器,其简化了spring的xml的配置,遵循了”约定大于配置“的原则,使用注解对常用的配置做默认配置,减少使用xml配置模式。SpringBoot为常用框架封装了大量的starter,比如spring-boot-starter-web会整合springmvc和内嵌的tomcat。SpringBoot在底层封装了默认的配置,修改配置在application.yml全局配置文件。如今在pom.xml文件中引用starter就可以使用这个框架,使用…

    2022年8月21日
    40
  • IIC原理超详细讲解—值得一看[通俗易懂]

    IIC原理超详细讲解—值得一看[通俗易懂]文章目录IIC简介IIC的物理层IIC的高阻态IIC物理层总结:IIC的协议层IIC总线时序图初始(空闲)状态开始信号:停止信号数据有效性应答信号IIC数据传送数据传送格式IIC发送数据IIC读数据:以AT24C02为例子软件IIC和硬件IICIIC简介    IIC(Inter-IntegratedCircuit)总线是一种由NXP…

    2022年6月14日
    67
  • 漏洞安全防范

    漏洞安全防范

    2021年10月7日
    38
  • mysql insert into as_mysql insert into select使用方法详解

    mysql insert into as_mysql insert into select使用方法详解mysqlinsertintoselect使用方法详解2017-11-2215:47我们先来看看mysqlinsertintoselect的语法规则。INSERT[LOW_PRIORITY|HIGH_PRIORITY][IGNORE][INTO]tbl_name[(col_name[,col_name]…)]SELECT…[ONDUPLICATEKEY…

    2022年7月15日
    18
  • cas 原理分析

    cas 原理分析CAS原理分析1、了解java中锁的类型1.1悲观锁(PessimisticLock)顾名思义,就是很悲观,假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁。1.2乐观锁(OptimisticLock)顾名思义,就是很乐观,假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。乐观锁不能解决脏读的问题。每次拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,

    2022年10月16日
    2
  • JAVA——数组截取——调用库中方法

    JAVA——数组截取——调用库中方法1,使用Java类库中的方法System.arraycopy2,使用Java类库中的方法java.util.Arrays.copyOf3,重写myCopy(一)使用.arraycopy方法使用方法:System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,拷贝长度);说明:将arr1数组中的一部分替换成arr2数组中的一部分可以从任意位置开始截取…

    2022年6月9日
    166

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号