问题背景

线上某个web应用页面,偶发性的报502 Bad Gateway异常。线上环境是Nginx反向代理和SpringBoot的后端服务组合。针对这个问题,记录一下解决过程。

环境准备

如果环境是Mac并且已经安装了Homebrew的话,安装Nginx还是非常方便的。

brew install nginx

Mac Homebrew安装指导https://www.jianshu.com/p/ebd854196c4c

如果已经安装过了Docker环境,则更为便利,直接运行一个Nginx镜像即可。

Homebrew安装完后,可以通过以下命令操作Nginx。

#启动
brew services start nginx# 停止
brew services stop nginx# 重启
brew services restart nginx

安装后nginx的日志路径为

/usr/local/var/log/nginx

Nginx配置文件路径为

/usr/local/etc/nginx
问题定位和解决

我们到线上捞取了对应异常时间点的Nginx日志,在其中发现了这样的异常信息。

 61112#0: *1 upstream sent too big header while reading response header from upstream

这个异常是由于响应中Header信息过大导致的。为此我们需要写一个简单的服务端代码验证一下。


@RestController
public class HomeController {@RequestMapping(value = "/home")public String home(HttpServletRequest request, HttpServletResponse response) {String headCount = request.getParameter("headCount");if (!StringUtils.hasText(headCount)) {headCount = "300";}for (int i = 0; i < Integer.parseInt(headCount); i++) {response.setHeader(String.valueOf(i), String.valueOf(i));}return "success";}
}

上述代码比较简单,就是根据入参的一个headCount参数,向响应中增加Header的数量。

我们先让服务不经过Nginx反向代理来验证一下。headCount设置为3000,看是否正常。

一次Nginx 502问题解决相关推荐

  1. Nginx 502的解决方法

    常见的Nginx 502 Bad Gateway解决办法如下: Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少. 针对这种情况的502错误,只需增加php-cgi的进程数 ...

  2. 常见的Nginx 502 Bad Gateway解决办法

    常见的Nginx 502 Bad Gateway解决办法如下: Nginx 502错误情况1: 网站的访问量大,而php-cgi的进程数偏少. 针对这种情况的502错误,只需增加php-cgi的进程数 ...

  3. 解决nginx 502 bad gateway--团队的力量

    nginx 502 bad gateway 可以采取客户端强制刷新的方法,但是真正的解决要么改配置或者放CDN上.      遇到这个问题,首先是有人发现可以加index.html访问,因为我们是线上 ...

  4. Nginx 502 bad gateway的解决方案

    Nginx 502 bad gateway的解决方案 参考文章: (1)Nginx 502 bad gateway的解决方案 (2)https://www.cnblogs.com/etiao/p/49 ...

  5. pomelo php,Nginx 502 Bad Gateway 自动重启shell脚本

    星期三, 2013-08-14 | Author: LeeAuthor: Lee Name: lee Email: service@i5a6.com Site: https://www.pomelol ...

  6. 深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway(亲测)

    Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止. Nginx 504 Gateway ...

  7. Nginx 502 Bad Gateway 错误的原因及解决方法

    2019独角兽企业重金招聘Python工程师标准>>> 刚才在调试程序的时候,居然服务器502错误,昨天晚上也发生了,好像我没有做非常规的操作. 然后网上寻找了下答案, 把一些原因及 ...

  8. 深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway Time-out

    Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止. Nginx 504 Gateway ...

  9. nginx 502 Bad Gateway解决办法

    我的解决方式比较小白, 第一次报这个错(nginx 502 Bad Gateway).网上找了一大圈都是PHP什么的,但是好像都不适用. 于是问了之前的一个同事,他说是不是我的tomcat关闭了,我恍 ...

  10. Nginx 502 Bad Gateway 的错误的解决方案

    我用的是nginx反向代理Apache,直接用Apache不会有任何问题,加上nginx就会有部分ajax请求502的错误,下面是我收集到的解决方案. 一.fastcgi缓冲区设置过小 出现错误,首先 ...

最新文章

  1. keepalived and heartbeat
  2. SHARED POOL 原理
  3. 系统程序员成长计划-组合的威力
  4. LVS峰会 | 阿里云李刚:下一代低延时的直播CDN
  5. 关于linux技术的的外文,关于Linux的介绍-外文翻译.doc
  6. iOS中下载大型文件的原理解析二
  7. Effective STL(第7条)
  8. DHCP服务器在企业里的各种应用方案
  9. 计算机d盘的权限怎么解决,D盘没权限,不能删除更改任何文件解决方法
  10. scrapy middlewares.py
  11. 性能优化之页面缓存(以Javascript方式缓存页面部件)
  12. [LeetCode] Longest Substring with At Most Two Distinct Characters 最多有两个不同字符的最长子串...
  13. Java基础篇:如何使用return语句
  14. 掌握C语言判断素数(质数)相关内容
  15. 谷歌金山词霸最终版下载地址公布
  16. 4. 嵌入式OpenWRT入门基础篇-----设置OpenWRT系统为AP、中继模式
  17. 数据的预处理分箱python_数据预处理——数据分箱
  18. 让假照片原形毕露?今日水印相机上线“照片验真”功能
  19. android 齿轮动画,Android仿正点闹钟时间齿轮滑动效果
  20. 2022.7.14 花旗银行外包面试

热门文章

  1. Win10 打开heu kms activator工具进度条到70%闪退(未解决)
  2. Excel单元格锁定及解锁
  3. 穷查理宝典:查理·芒格智慧箴言录
  4. 我就问你1MB和1Mb能一样吗?
  5. 贪心宝贝话说上回讲到海东集团面临内外交困,公司的元老也只剩下XHD夫妇二人了。显然,作为多年拼搏的商人,XHD不会坐以待毙的。 一天,当他正在苦思冥想解困良策的时候,突然想到了自己的传家宝,那是公司成
  6. 【信息系统项目管理师】重点整理:高项知识地图
  7. 【ADNI】数据预处理(2)获取 subject slices
  8. UG NX 12同步建模:调整面大小
  9. ipv4的地址位数_ipv4
  10. java中wint是什么意思,Java线程的同步演示代码,java线程演示,package Wint