1.问题描述

内部系统之间通过Nginx来实现路由转发。

但最近发现有一个系统,经常报502错误,每天达到上百次,完全无法忍受。

2. 原因排查

于是进行排查, 发现配置人员把连接超时时间(server.tomcat.connection-timeout)的单位,理解为秒,实际上是毫秒。

SpringBoot的部分配置如下:

# Tomcat
server:tomcat:uri-encoding: UTF-8max-threads: 1000min-spare-threads: 30connection-timeout: 60 # 错误在这里port: 18080servlet:context-path: /max-http-header-size: 102400

原来配置的值为 60,如果建立客户端连接的过程中,恰好碰到GC,并且加上GC的暂停时间总共达到60ms以上,Tomcat一看,超时了,就会导致建立连接失败,然后Nginx给客户端返回502错误。

3. 解决办法

修改连接超时时间,例如修改为【server.tomcat.connection-timeout=6000】, 如下所示:

# Tomcat
server:tomcat:uri-encoding: UTF-8max-threads: 1000min-spare-threads: 30connection-timeout: 6000port: 18080servlet:context-path: /max-http-header-size: 102400

问题解决。

当然,502错误也不止这个原因,需要排查Nginx链路。

作者: https://renfufei.blog.csdn.net/

时间: 2020年09月02日

SpringBoot连接超时导致的502错误案例相关推荐

  1. java 502错误,Spring Boot连接超时导致502错误的实战案例

    1.问题描述 内部系统之间通过Nginx来实现路由转发. 但最近发现有一个系统,经常报502错误,每天达到上百次,完全无法忍受. 2. 原因排查 于是进行排查, 发现配置人员把连接超时时间(serve ...

  2. java中502错误原因_Spring Boot连接超时导致502错误的实战案例

    Spring Boot连接超时导致502错误的实战案例,错误,时间,客户端,站长站,原因 Spring Boot连接超时导致502错误的实战案例 易采站长站,站长之家为您整理了Spring Boot连 ...

  3. oracle报609,案例:Oracle报错ORA-609 TNS-12537 TNS-12547 连接超时导致

    天萃荷净 生产数据库alert日志中出现错误信息ORA-609 TNS-12537 TNS-12547,分析原因为数据库inbound connect timeout默认为60导致 1.数据库aler ...

  4. nginx send_timeout 超时导致的302 错误

    背景: 前端fe js轮询(每隔5s) 一个web接口 php-fpm配置: pm=static pm.max_children=128 nginx 配置: error_page 400 403 40 ...

  5. QQ登录连接超时,报00001错误

    在qq登录界面右上角点击登录设置: 一般登陆服务器默认设置不使用高级选项: 将这个设置改成TCP类型,地址是tcpconn...(就这个开头的,地址下拉栏中已经给了,任选一个就可以),端口号不要动,就 ...

  6. php-fpm 超时,nginx和php-fpm连接超时之解决方法

    文章目录 [隐藏] 一.proxy和webserver不能连接 1.1 proxy_pass ip不存在 1.2 proxy_pass ip存在 二.proxy和webserver连接正常(请求时间过 ...

  7. SQL Server 连接超时案例一则

    原文:SQL Server 连接超时案例一则 上周六,一工厂系统管理员反馈一数据库连接不上,SSMS连接数据库报"连接超时时间已到.在尝试使用预登录握手确认时超过了此超时时间.......& ...

  8. springboot整合redis集群master宕机后连接超时

    前提: #        本文是在确保redis集群配置正确的情况下,连接超时的解决方案. 项目登录认证使用的是sa-token(这个不重要,主要说的是springboot和redis集群),最近应甲 ...

  9. 对于网络连接超时问题的推测;错误码3001 3002 3003 3004等网络错误code码

    目前现在大部分第三方网络问题都是返回300开头的错误码,出现这种问题肯定是网络出现了问题,所以可以查下有可能影响到网络的一些配置是否修改引起的 我碰到的问题是Android上面调用的一个第三方SDK一 ...

最新文章

  1. Jsoup 替换文本中所有的img src属性
  2. 分数阶累加的Python实现
  3. 【体验】ESP32-CAM可能是最便宜的“监控”方案,ESP32-CAM程序下载调试
  4. Java程序员从笨鸟到菜鸟之(九十)跟我学jquery(六)jquery中事件详解
  5. autocad2014 第二次打开闪退_cad2014闪退的原因和解决方法
  6. 记一次 .NET医疗布草API程序 内存暴涨分析
  7. JFreeChart(七)之气泡图表​​​​​​​
  8. 小米11系列顶配版曝光:骁龙888加持 代号“star”!
  9. 爬虫教程 python3_Python3网络爬虫(四): 登录
  10. IDEA工作常用快捷键
  11. oracle-merge语法
  12. C3P0连接池的配置方式
  13. java基础实现一个基本的银行管理系统
  14. IDEA社区版利用maven创建web
  15. 妇科癌症中的肠道菌群:病因、治疗潜力
  16. CentOS中使用VeraCrypt(四):进阶操作
  17. 很牛的几篇圈内爆料——影视圈
  18. == 和 === 有什么区别?
  19. 11款相似图片搜索引擎推荐,以图搜图将不再是难事
  20. 【常见面试题】性能测试里,压力测试、负载测试、并发测试、强度测试、容量测试,具体是什么意思

热门文章

  1. 人力资源系统如何改变企业
  2. Rest实践之POST+json总结
  3. 44. python的for循环嵌套
  4. LCM on Whiteboard
  5. 通过设置静态路由实现内外网正常使用
  6. STM32G0 nBoot和Boot
  7. 【听】谁动了我的奶酪,寻找真正属于自己的奶酪
  8. ssis抽MySQL数据_SSIS探索之SSIS增量抽取数据
  9. mybatis-plus 将查询参数 进行封装 QueryWrapper条件的实现另一种方式
  10. 2021.12.04【宏基因组】|宏基因组流程搭建进展梳理