最近爆发了Nginx range 过滤器整形溢出漏洞,而服务器的nginx是1.9的,在漏洞波及范围,因此需要升级nginx到最新的1.13以修改漏洞
流程
- 获取编译参数
- 获取最新版源码
- 配置编译
- 替换升级
动手
1.首先通过调用旧版本的nginx命令 nginx -V
来获取原有版本的有哪些指定的编译参数。
[root@vm1 nginx-1.8.1]# ./sbin/nginx -V
nginx version: nginx/1.8.1
built by gcc 4.x.x 20xxxxxx (Red Hat 4.1) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx-1.8.1 --with-http_ssl_module
通过nginx -V
可以看出我的旧版本nginx的编译配置参数是 --prefix=/opt/nginx-1.8.1 --with-http_ssl_module
2.接下来就是下载解压最新版本的nginx,配置刚刚拿到的旧版本的配置参数
[root@vm1 nginx-1.13.6]#./configure --prefix=/opt/nginx-1.8.1 --with-http_ssl_module
[root@vm1 nginx-1.13.6]# make
3.make完成之后我们就该备份旧版本nginx,并且将新版本的nginx拿来替换
[root@vm1 sbin]# mv ./nginx ./nginx.old
[root@vm1 nginx-1.13.6]# cp nginx 旧nginx所在目录/sbin
4.替换完成之后,直接执行nginx upgrade
进行升级
[root@vm1 nginx-1.13.6]# make upgrade
5.如果没有报错提示那就说明升级成功了,而且也可以使用 nginx -V
来查看版本信息
到此,咱们的nginx就升级完成了。