公司目前使用的nginx版本比较低(nginx-1.0.12),请网络安全公司做了一下“远程安全评估”,发现有下列漏洞:
nginx URI处理安全限制绕过漏洞(CVE-2013-4547)
Nginx 'access.log'不安全文件权限漏洞(CVE-2013-0337)
nginx SSL会话固定漏洞(CVE-2014-3616)
nginx resolver 拒绝服务漏洞(CVE-2016-0747)
nginx resolver 拒绝服务漏洞(CVE-2016-0742)
nginx 'ngx_http_mp4_module.c'缓冲区溢出漏洞
nginx标头解析内存泄露漏洞
nginx 'ngx_http_close_connection()'远程整数溢出漏洞
nginx 空指针间接引用漏洞(CVE-2016-4450)
nginx resolver 释放后重利用漏洞(CVE-2016-0746)
为了修复上面的漏洞,决定将nginx 更新为nginx-1.12.0
1.首先下载 nginx-1.12.0.tar.gz,nginx-upstream-jvm-route-master.zip
ngx_cache_purge-2.3.tar.gz
附件中有依赖包
2.解压 tar -zxvf ngx_cache_purge-2.3.tar.gz
tar -zxvf nginx-upstream-jvm-route-master.zip
tar -zxvf nginx-1.12.0.tar.gz
3.通过./nginx -V 查看原来安装时的参数
[root@localhost sbin]# ./nginx -V
nginx 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 执行:
patch -p0 < nginx-upstream-jvm-route-master所在路径下的jvm_route.patch
patch -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
nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /opt/nginx/conf/nginx.conf test is successful
kill -USR2 `cat /opt/nginx/logs/nginx.pid`
sleep 1
test -f /opt/nginx/logs/nginx.pid.oldbin
kill -QUIT `cat /opt/nginx/logs/nginx.pid.oldbin`
注意:升级是不需要关闭nginx
10.[root@localhost nginx-1.12.0]# /opt/nginx/sbin/nginx -V
nginx version: nginx/1.12.0
built 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
升级成!
模块说明:
nginx_upstream_check_module 来检测后方realserver的健康状态,如果后端服务器不可用,则所以的请求不转发到这台服务器。
nginx_upstream_jvm_route: 通过session cookie的方式来获取session粘性。如果在cookie和url中并没有session,则这只是个简单的round-robin 负载均衡。
ngx_cache_purge:缓存模块
分享到:
相关推荐
在【标题】"nginx-1.12.0 版本的 Windows平台软件"中,我们关注的是Nginx的一个特定版本——1.12.0,它为Windows操作系统提供了一个强大的Web服务解决方案。 **Nginx特性** 1. **并发处理能力**:Nginx以其事件驱动...
本资源包含的是Nginx的1.12.0版本安装包和核心配置文件`nginx.conf`。 在安装Nginx 1.12.0之前,确保你的系统已经满足了以下基本要求: 1. **操作系统**:Nginx支持多种操作系统,包括Linux、Unix、FreeBSD和...
为什么需要升级 Nginx 版本 升级 Nginx 版本可以带来一些好处,例如: * 修复已知的安全漏洞,提高服务器的安全性 * 添加新的功能和特性,提高服务器的性能和可扩展性 * 修复已知的 Bug,提高服务器的稳定性 升级...
nginx分布式文件系统 整套资源,不会有版本冲突,其他文件看我的其他下载(fastdfs-5.11,fastdfs-nginx-module-master ,libfastcommon-master,nginx,fastdfs-client-java)
vs2015编译,添加more_set_head
在CentOS7环境中,对Nginx进行版本升级是一个重要的任务,这可能是因为新版本提供了更多的功能、性能优化或安全修复。本篇文章将详细介绍两种在CentOS7上升级Nginx的方法:YUM upgrade和源码平滑升级,并提供相关的...
2. 定期检查Nginx的更新,及时进行版本升级以获取最新的功能和安全补丁。 通过以上步骤,您可以安全地完成Nginx的版本升级。在实际操作中,务必根据自己的系统环境和需求进行相应的调整。对于大型生产环境,建议在...
为升级GitLab系统中的Nginx版本,需要首先安装系统自带的Nginx。安装步骤如下: 1. 选定源码目录:首先,需要选择一个合适的源码目录,以便安装Nginx。 2. 安装PCRE库:PCRE库是一个Perl兼容的正则表达式库,Nginx...
本资源包含: nginx-1.12.0.tar.gz; nginx-1.12.0.zip
nginx-1.12.0.tar.gz 官方下载 nginx负载均衡的5种策略(转载) nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕...
获取最新版本的Nginx源码压缩包,如`nginx-1.14.2.tar.gz`,然后将其上传到服务器的 `/usr/local/` 目录下,并执行`tar -zxvf nginx-1.14.2.tar.gz -C /usr/local/`命令进行解压。 3. **配置与编译Nginx** 进入...
Nginx 版本升级指南 本文将指导你如何平滑升级 Nginx 版本,确保服务器保持高性能和高可用性。LNMP 介绍、Linux 操作系统、Nginx Web 服务器、MySQL/MariaDB 数据库服务器和 PHP/Python/Perl 等开发语言的相关知识...
在部署Nginx 1.12时,首先需要在Linux服务器上解压`nginx-1.12.0.tar.gz`文件。解压后,进入解压后的目录,执行编译和安装步骤: 1. **配置**:运行`./configure`,根据服务器环境选择合适的配置选项,例如添加模块...
最后,为了验证升级是否成功,我们可以再次执行`nginx -V`命令,检查输出的版本号是否为1.11.2。如果显示的信息无误,那么恭喜您,nginx已经成功升级至新版本。 在整个升级过程中,虽然技术操作相对简单,但每一步...
**Nginx 1.26.0 最新版编译及使用详解** Nginx 是一款高性能、轻量级的 Web 服务器/反向代理服务器,因其高效的性能、丰富的功能和简单易用的配置,被广泛应用于各类互联网服务中。在本文中,我们将详细介绍 Nginx ...
这里我们将深入探讨如何在Linux上安装Nginx 1.12.0和Redis 3.2.10。 首先,Nginx是一个高性能的HTTP和反向代理服务器,以其轻量级、高并发性和稳定性著称。在安装Nginx 1.12.0之前,你需要确保系统中已经安装了必要...