nginx最新版本的一个bug

最近一直在配置nginx作为整个系统的前端,今天测试时偶然发现了一个可怕的BUG,使用的是最新Linux下的的0.8.52版的nginx。

这个BUG可能导致的问题是,某个nginx进程会无限的申请占用系统内存空间,并且保持一定的CPU占用率(比率还不低),直到系统内存及swap耗光导致死机。并且,如果你仅仅只是nginx-squit,那么,那个吃内存的进程其实并没有结束掉,还是继续占内存,吃CPU,只能将那个进程kill掉。其实这个BUG很可怕的,nginx一般做为整个系统的前端,如果nginx挂掉,后面的都Over了。

可能触发BUG的配置:

如果你使用了nginx的反向代理功能,并且后端有多台主机,upstream结构体里面的某台主机使用了backup标识,也就是平时不访问这台主机,当其它机子都挂掉后才使用这台作为备用机;并且使用了proxy_next_upstreamhttp_404类似的配置,也就是如果出现了404无法找到页面的配置,则将请求转发到下一台可用的后端主机。这两个配置本来都是用于容错的,但是,当两个一起配置时,并且访问了一个会导致404错误的URL时,你就等着悲剧吧=A=


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值