openresty-1.21.4.1升级内嵌nginx-1.22.0版本

  • openresty-1.21.4.1升级内嵌nginx-1.22.0版本
    • openresty升级内嵌nginx教程

openresty-1.21.4.1升级内嵌nginx-1.22.0版本

你们好!读者们,时隔百天我又写了一篇博客,这记录的是,Nginx版本<=1.21.5存在 0Day漏洞,我在周六晚上接到的通知,我只是个java开发,当时接到这个通知我很震惊,一点解决思路也没有,由于线上openresty内嵌nginx版本,openresty官网没有出新的版本,这都是运维工作人员的事情,我一个苦逼开发者接到了这种事情,打电话和别人讨论,有没有遇到过这种情况升级,甚至我问能不能解决这种漏洞,一开始解决思路是使用nginx -V 查看model 去到github找包,使用nginx编译,由于线上环境,这种方式不可取,所以接下来使用openresty的源码包与nginx源码包进行整合重新编译,经过测试发现 nginx-1.23.1新版本编译会出现错误,整合 nginx-1.22.0稳定版本不会报错 ,亲测,本人搭建了6次

ngx_http_srcache_util.c:564:49: error: request for member ‘nelts’ in
something not a structure or union

openresty升级内嵌nginx教程

注意:下载一定要去官网下载,GitHub出现钓鱼项目,具体请去查询,这里不细说

第一步下载openresty

注意:避免文件覆盖等情况,建议原有的openresty修改一下名字 ,例如:mv /usr/local/openresty
/usr/local/openresty-1,其实也可以不用替换,基本上是无损升级版本,熟悉运维的小伙伴可以自行选择,原有的nginx变为nginx.old版本,不熟悉的小伙伴,建议原有的openresty修改一下名字,毕竟是线上,先在开发环境测试!!!
停止掉你正在运行的openresty 看自己需求,基本上也是几分钟安装完毕的事情
/usr/local/openresty/nginx/sbin/nginx -s stop

链接: openresty-1.21.4.1
链接: nginx-1.22.0
可以使用链接下载并上传至服务器,也可以使用wget命令下载到服务器

wget https://openresty.org/download/openresty-1.21.4.1.tar.gz
wget http://nginx.org/download/nginx-1.22.0.tar.gz

解压

tar -zxvf openresty-1.21.4.1.tar.gz
tar -zxvf nginx-1.22.0.tar.gz


然后将解压的nginx-1.22.0文件夹移动至 openresty-1.21.4.1/bundle 目录下
我这里使用的 /usr/local

mv  /usr/local/nginx-1.22.0   /usr/local/openresty-1.21.4.1/bundle

将nginx-1.21.4版本删除,因为不能有多余的nginx版本否则编译不会通过(注意:rm -rf 这个命令慎用) 也可以在windows环境下删除完成之后在上传服务器

rm -rf  nginx-1.21.4

修改源码文件 nginx-no_pool.patch ,由于很多地方需要替换,我为了方便下载至本地 直接将nginx-1.21.4 全部替换为 nginx-1.22.0版本然后保存,上传至原文件目录位置


接下来进入到openresty-1.21.4.1目录
执行命令 由于openresty 编译脚本默认添加了如下model所以我们无需额外添加,如果有需要的小伙伴们,自己添加公司所用的model

--add-module=../ngx_devel_kit-0.3.1 \
--add-module=../echo-nginx-module-0.62 \
--add-module=../xss-nginx-module-0.06 \
--add-module=../ngx_coolkit-0.2 \
--add-module=../set-misc-nginx-module-0.33 \
--add-module=../form-input-nginx-module-0.12 \
--add-module=../encrypted-session-nginx-module-0.09 \
--add-module=../srcache-nginx-module-0.32 \
--add-module=../ngx_lua-0.10.21 \
--add-module=../ngx_lua_upstream-0.07 \
--add-module=../headers-more-nginx-module-0.33 \
--add-module=../array-var-nginx-module-0.05 \
--add-module=../memc-nginx-module-0.19 \
--add-module=../redis2-nginx-module-0.15 \
--add-module=../redis-nginx-module-0.3.9 \
--add-module=../rds-json-nginx-module-0.15 \
--add-module=../rds-csv-nginx-module-0.09 \
--add-module=../ngx_stream_lua-0.0.11 \

执行命令 ,这里提示一下:由于很多小伙伴都是yum 命令安装的openresty,我这个配置是根据openresty的yum安装命令的编译,如果你们线上使用的 可以去原有的openresty下的nginx的sbin执行
nginx -V来查看自己公司的配置,如果没有配置过,使用默认的执行如下即可

./configure --prefix=/usr/local/openresty \
--with-pcre-jit --with-stream --with-stream_ssl_module \
--with-stream_ssl_preread_module --with-http_v2_module --without-mail_pop3_module --without-mail_imap_module \
--without-mail_smtp_module --with-http_stub_status_module --with-http_realip_module --with-http_addition_module \
--with-http_auth_request_module --with-http_secure_link_module --with-http_random_index_module \
--with-http_gzip_static_module --with-http_sub_module --with-http_dav_module --with-http_flv_module \
--with-http_mp4_module --with-http_gunzip_module --with-threads --with-compat --with-stream --with-http_ssl_module \
--with-file-aio --with-luajit  \
--with-pcre


如果出现 MakeFile恭喜

执行gmake命令进行编译 这个过程时间有点长 耐心等待即可

gmake


这里显示编译成功

下一步执行安装 gmake install

gmake install


注意这个命令可以省略,我没有省略,看需自己定即可

ln -s /usr/local/openresty-1.21.4.1/ /usr/local/openresty

恭喜安装成功 请去/usr/local/ 目录下查看openresty

/usr/local/openresty/nginx/sbin/nginx -V

升级成功,启动你的openresty即可,小伙伴们加油,帮我点点关注,点个赞也行 ,查看你的nginx.conf,如果没有变动则直接启动即可,如果你选择了无损升级,查看nginx.conf,如果修改了openresty文件名 则是新的openresty,上传你的nginx.conf在启动,并且根据你们公司的环境进行进行安装你们的环境,我这里用了lua内嵌了一些东西,这基本上就是新的openresty了

/usr/local/openresty/nginx/conf/nginx.conf

启动

/usr/local/openresty/nginx/sbin/nginx -c /usr/local/openresty/nginx/conf/nginx.conf

OpenResty无损升级内嵌nginx版本0DAY漏洞相关推荐

  1. docker的fastDFS容器升级内置nginx版本

    docker的fastDFS容器升级内置nginx版本 基础环境 操作系统 fastDFS镜像 fastDFS-Storage容器 升级storage容器内的nginx 进入storage容器 查看当 ...

  2. 【npm】node-gpy 内嵌npm版本升级 (解决node-gpy 内嵌 npm版本过低识别不了2022 msvs_version版本问题)

    [npm]node-gpy 内嵌npm版本升级 (解决node-gpy 内嵌 npm版本过低识别不了2022 msvs_version版本问题) 问题 原因 解决 这次运行同学给我们的另一个vue项目 ...

  3. 升级ingress-nginx-controller的nginx版本

    线上的k8s使用nginx所在的边缘节点来将外部访问导流到集群内部容器,ingress-nginx-controller是k8s众多ingress controller实现中的一种,以agent+ng ...

  4. 修复HTTP头信息泄露Nginx版本信息漏洞

    一.问题描述 最近项目系统处于安全防护阶段:相关维护人员会通过工具扫描指定项目系统所使用的软件,判断其是否存在某些不安全的漏洞.借此机会修复漏洞以至于使系统变的更加的安全,防止对系统用户以及系统方造成 ...

  5. 指定SpringBoot内嵌Tomcat的版本,修复(CVE-2021-42340)漏洞

    1.Tomcat漏洞 近日,Apache Tomcat 发布安全更新,更新了一处拒绝服务漏洞(CVE-2021-42340).攻击者可以通过该漏洞进行拒绝服务攻击.建议广大用户及时升级至最新版本. 1 ...

  6. nginx版本平滑升级(超详细)

    一.前期准备 二.开始实验 安装旧版本 安装新版本 三.可能遇到的问题 文章背景:护网期间,客户跟我说nginx有0day漏洞,需要版本升级,我寻思着我也不是运维啊,问我干嘛(你干嘛~ 哎呦~),我没 ...

  7. 通过Nginx反向代理提供网站内嵌

    通过Nginx反向代理提供网站内嵌 公司需要提供对外服务给合作伙伴,对方公司需要内嵌我方公司网站,确定后决定使用nginx反向代理 实现细节分析 1.配置对方公司域名转发至公司网站 2.修改公司网站中 ...

  8. php嵌入 播放mp4,nginx支持网页内嵌mp4视频播放

    整了很久,mp4流媒体播放这方面资料很少,捣鼓了N天,刚申请开通CSDN博客,准备发表一下,共享给那些跟我一样苦逼找资料的兄弟们,TMD CSDN居然说"开通博客三天内不允许发表文章&quo ...

  9. Nginx版本无缝升级

    [root@datacenter~]# cd /home/php/nginx/sbin [root@datacentersbin]# nginx -V #查看当前版本 nginx version: n ...

  10. 教你在Zabbix环境下快速升级nginx版本!

    转载来源 :教你在Zabbix环境下快速升级nginx版本 : https://www.jianshu.com/p/4e9c0b457f7b 1.环境描述原nginx版本:nginx 1.14.0 升 ...

最新文章

  1. 摊牌了:我就靠这几点,搞定了算法面试官
  2. CDays–4 习题六(修改文本)及相关内容解析。
  3. Mybatis 批量更新
  4. linux 内存 段,Linux内存储器管理之分段机制
  5. 蓝桥杯--算法入门级题目及答案解析
  6. Java 字符编码与解码
  7. 后端怎么接收map_史上最全,C++后端开发面试题与知识点汇总
  8. 仿ios桌面vivo_流畅就是跑分高?vivo选择说不,用这款杀器终结国产手机内卷
  9. python分类与原理以及国内好的发展方向
  10. Nvidia-Docker
  11. 《图谋职场——最经济的图形沟通》 一种能提高职场竞争力的沟通能力
  12. ecshop源码教程第2季
  13. 什么是计算机图形学?
  14. 快速去除PDF打开密码和限制
  15. 「MBR」- 主引导记录(Master Boot Record) @20210315
  16. mysql 查看碎片_MYSQL 碎片查询
  17. 微信小程序设置背景图片
  18. ECharts 示例——双Y轴(一)
  19. 浏览器显示”SSL证书无效”怎么办
  20. ArcGIS教程:分水岭

热门文章

  1. java可达性_java 垃圾回收总结(可达性分析 引用分类
  2. 超定方程组及其求解方法
  3. 安装和维护ImageJ
  4. android输入框边框距离,如何更改Android对话框边距(到屏幕边缘的距离)?
  5. 基于TMC4361-超静音闭环步进电机驱动方案
  6. 贴片电阻电容标称换算
  7. 15个常用excel函数公式_(干货)EXCEL常用函数公式大全及举例
  8. 基础篇:6)形位公差标注(GDT标准)-总章
  9. Ext:Panel之applyTo与renderTo区别
  10. 如何获取最好权限删除顽固文件Mac系统