CVE-2018-16843和CVE-2018-16844漏洞影响 1.9.5 和 1.15.5 之间的所有 nginx 版本
解决办法:关闭http/2请求处理和MP4流媒体支持,将Nginx 升级至1.22.1 stable 最新版本。
操作步骤:
1、查看当前版本信息及配置参数:
sudo /usr/local/nginx/sbin/nginx -V
2、下载安装包:
cd /usr/local/
wget http://nginx.org/download/nginx-1.22.1.tar.gz
tar zxvf nginx-1.22.1.tar.gz
cd nginx-1.22.1
3、编译nginx
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module
编译nginx,添加http_v2模块应用
编译完成后,执行make,但不执行make install
make
4、备份
将旧版本的nginx二进制文件,重命名一个名字,在这期间,当前运行的nginx进程不会停止,不影响应用运行。
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx202211013.old
然后将上一步通过make编译好的新版nginx二进制文件,拷贝到运行目录:
cp ./objs/nginx /usr/local/nginx/sbin/nginx
5、执行更新
在源码目录根目录下(/usr/local/nginx-1.22.1),执行更新安装命令:
make upgrade
注意:如果原来的相关配置文件中,写有和ssl有关的配置信息,需要先暂时注释掉,否则更新时会报错。
6、更新完成
更新完成后,执行:
sudo /usr/local/nginx/sbin/nginx -V
可以看到nginx已经更新到1.22.1版本。