标签:nginx

公司目前使用的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:缓存模块

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

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

nginx 升级为最新版 nginx -1.12.0

标签:nginx

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

nginx 升级为最新版 nginx -1.12.0的更多相关文章

  1. k8s升级,HA集群1.12.0~HA集群1.13.2

    k8s升级,此次升级是1.12.0 至1.13.2 准备 # 首先升级master节点的基础组件kubeadm.kubelet.kubectl apt policy kubeadm 找到相应的版本,如 ...

  2. 「版本升级」MyEclipse CI 2018.12.0正式发布

    新版本MyEclipse为WildFly 14新增一个新的服务器连接器,改进性能并新增一些Java 10修复程序.新版本为IDE做了几个核心修复,这是MyEclipse 2018一个更棒的升级. [M ...

  3. Centos7 编译安装 Nginx PHP Mariadb Memcached 扩展 ZendOpcache扩展 (实测 笔记 Centos 7.3 + Openssl 1.1.0e + Mariadb 10.1.22 + Nginx 1.12.0 + PHP 7.1.4 + Laravel 5.4 )

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso 安装步骤: 1.准备 1.0 查看硬 ...

  4. Nginx升级

    Ubuntu14.04默认的安装源中安装的是Nginx 1.4.6 echo deb http://nginx.org/packages/ubuntu/ trusty nginx >> / ...

  5. nginx升级教程

    1.说明 CVE-2016-4450,可通过构造特定数据包,可引发nginx引用空指针,导致nginx出错从而造成拒绝服务攻击. 影响1.3.9到1.11.0的所有版本,进行修复的1.10.1和1.1 ...

  6. nginx升级不改变配置文件

    查看当前版本是:1.10.3 [root@proxy nginx-1.10.3]# /usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.10.3b ...

  7. 阿里云openssl升级,实现nginx主动推送,nginx主动推送能够有效减少不必要的报文传输,减少用户请求次数,以达到更快访问速度

    现有版本检查 [root@node3 ~]# openssl version               #这个版本是无法支持http2.0主动推送功能.需要升级为2019版本. OpenSSL 1. ...

  8. 利用 yum 命令和 rpm 命令升级 Nginx 或者安装最新版本 Nginx

    方法一:使用 yum 命令升级 Nginx 1.在配置 YUM 仓库的目录(/etc/yum.repos.d/)下新增文件  nginx.repo vi /etc/yum.repos.d/nginx. ...

  9. nginx升级步骤

    今天应开发的需求,需要在Nginx增加一个模块,并不能影响现有的业务,所以就必须要平滑升级Nginx,好了,不多说了 1:查看现有的nginx编译参数 /usr/local/nginx/sbin/ng ...

随机推荐

  1. 23.通过MS17_010来学习msf对渗透的利用

    Metersploit 集成了渗透阶段的全部利用,从漏洞探测,到漏洞利用,最后到后渗透阶段.本次博客主要抛砖引玉,通过对MS17_010漏洞的复现,来学习Metasploit. 漏洞环境: 靶机:wi ...

  2. IQA(图像质量评估)

    图像质量评价(Image Quality Assessment,IQA)是图像处理中的基本技术之一,主要通过对图像进行特性分析研究,然后评估出图像优劣(图像失真程度). 主要的目的是使用合适的评价指标 ...

  3. asp.net 防止二次提交 以及UseSubmitBehavior属性-转

    页面上有一个按钮,点击之后提交表单,如果什么都不管的话,用户可以在服务器响应完成之前再次点击,这样就出现了二次提交,后果可大可小. 那么我们应该防止二次点击,就要在用户点第一次之后马上Disable这 ...

  4. How to modify rosbag?如何修改rosbag?

    Ubuntu16.04,kinetic 本文示例修改使用rosbag中的frame id 在http://wiki.ros.org/bag_tools中,能找到 change_camera_info. ...

  5. Spark Checkpoint 概述

    有时候,Transformation 的 RDD 非常多或者具体 Transformation 产生的 RDD 本身计算特别复杂和耗时,此时我们必须考虑对计算结果数据进行持久化.与 persist 不 ...

  6. 洛谷P3128 [USACO15DEC]最大流Max Flow

    P3128 [USACO15DEC]最大流Max Flow 题目描述 Farmer John has installed a new system of N-1N−1 pipes to transpo ...

  7. Node.js 内置模块crypto加密模块(4) Diffie Hellman

    Diffie-Hellman( DH ):密钥交换协议/算法 ( Diffie-Hellman Key Exchange/Agreement Algorithm ) 百科摘录: Diffie-Hell ...

  8. C#基础之类型和成员基础以及常量、字段、属性

    首先吐糟一下今天杭州的天气,真是太热了!虽然没有妹子跟我约会,但宅在方寸大的窝里,也是烦躁不已! 接上一篇<C#基础之基本类型> 类型和成员基础 在C#中,一个类型内部可以定义多种成员:常 ...

  9. Ubuntu系统下同时打开多个终端窗口的软件

    sudo apt-get install Terminator

  10. 牛客网Java刷题知识点之四种不同的方式创建线程

    不多说,直接上干货! 有4种方式可以用来创建线程: 第一种:继承Thread类,重写run方法 第二种:实现Runnable接口,并实现该接口的run方法(一般我们在编程的时候推荐用这种) 第三种:实 ...