当前位置首页 > Nginx知识

nginx升级为最新版nginx-1.12.0

阅读次数:307 次  来源:admin  发布时间:

标签:nginx

公司目前使用的nginx版本比较低(nginx-1.0.12),请网络安全公司做了一下“远程安全评估”,发现有下列漏洞:

ginx URI处理安全限制绕过漏洞(CVE-2013-4547)

Nginx ‘access.log‘不安全文件权限漏洞(CVE-2013-0337)

ginx SSL会话固定漏洞(CVE-2014-3616)

ginx resolver 拒绝服务漏洞(CVE-2016-0747)

ginx resolver 拒绝服务漏洞(CVE-2016-0742)

ginx ‘ngx_http_mp4_module.c‘缓冲区溢出漏洞

ginx标头解析内存泄露漏洞

ginx ‘ngx_http_close_connection()‘远程整数溢出漏洞

ginx 空指针间接引用漏洞(CVE-2016-4450)

ginx resolver 释放后重利用漏洞(CVE-2016-0746)

为了修复上面的漏洞,决定将nginx 更新为nginx-1.12.0

1.首先下载 nginx-1.12.0.tar.gz,nginx-upstream-jvm-route-master.zi

gx_cache_purge-2.3.tar.gz

附件中有依赖包

2.解压 tar -zxvf ngx_cache_purge-2.3.tar.gz

tar -zxvf nginx-upstream-jvm-route-master.zi

tar -zxvf nginx-1.12.0.tar.gz

3.通过./nginx -V 查看原来安装时的参数

[root@localhost sbin]# ./nginx -V

ginx version: nginx/1.0.12

configure arguments: --prefix=/opt/nginx --with-http_stub_status_module --with-pcre=/opt/soft/pcre-8.21 --add-module=../nginx_upstream_jvm_route/ --add-module=../ngx_cache_purge-1.5 --add-module=../nginx_upstream_check_module-master

4.进入 nginx-1.12.0 执行:

atch -p0 < nginx-upstream-jvm-route-master所在路径下的jvm_route.patch

atch -p0 < /opt/soft/nginx-upstream-jvm-route-master/jvm_route.patch

注意一定要执行,否则make 时会报错误

5.执行

[root@localhost nginx-1.12.0]# ./configure --prefix=/opt/nginx --with-http_stub_status_module --with-pcre=/opt/soft/pcre-8.21 --add-module=/opt/soft/nginx-upstream-jvm-route-master/ --add-module=/opt/soft/ngx_cache_purge-1.5 --add-module=/opt/soft/nginx_upstream_check_module-master

6. [root@localhost nginx-1.12.0]#make

7.[root@localhost nginx-1.12.0] mv /opt/nginx/sbin/nginx /opt/nginx/sbin/nginx.old

8.[root@localhost nginx-1.12.0] cp objs/nginx /opt/nginx/sbin/

9.[root@localhost nginx-1.12.0]# make upgrade

/opt/nginx/sbin/nginx -t

ginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok

ginx: configuration file /opt/nginx/conf/nginx.conf test is successful

kill -USR2 `cat /opt/nginx/logs/nginx.pid`

leep 1

test -f /opt/nginx/logs/nginx.pid.oldbi

kill -QUIT `cat /opt/nginx/logs/nginx.pid.oldbin`

注意:升级是不需要关闭nginx

10.[root@localhost nginx-1.12.0]# /opt/nginx/sbin/nginx -V

ginx version: nginx/1.12.0

uilt by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC)

configure arguments: --prefix=/opt/nginx --with-http_stub_status_module --with-pcre=/opt/soft/pcre-8.21 --add-module=/opt/soft/nginx-upstream-jvm-route-master/ --add-module=/opt/soft/ngx_cache_purge-2.3 --add-module=/opt/soft/nginx_upstream_check_module-master

升级成!

模块说明:

ginx_upstream_check_module 来检测后方realserver的健康状态,如果后端服务器不可用,则所以的请求不转发到这台服务器。

ginx_upstream_jvm_route: 通过session cookie的方式来获取session粘性。如果在cookie和url中并没有session,则这只是个简单的round-robin 负载均衡。

gx_cache_purge:缓存模块

模块下载:http://gjp014.iteye.com/blog/2384146

本文出自 “菜鸟” 博客,请务必保留此出处http://gjp014.blog.51cto.com/2393413/1947429

ginx 升级为最新版 nginx -1.12.0

标签:nginx

原文:http://gjp014.blog.51cto.com/2393413/1947429

上一篇:Linux操作系统网络驱动程序编写1
下一篇:实现WIN2003IIS最小权限分配的批处理