Nginx之版本升級(3)
阿新 • • 發佈:2022-05-10
Nginx版本升級
問題:
由於之前遇到過使用檢測軟體對web url進行檢測的時候,提示存在安全隱患,並且詳情為“空指標間接引用漏洞出現個數超出,resolver存在釋放後重利用漏洞。遠端攻擊者通過CNAME響應處理相關的構造的DNS響應,可造成worker程序崩潰,拒絕服務”。具體如下:
解決方案
升級nginx版本即可。
1、下載最新的nginx版本
[root@aliyun ~]# wget -c http://nginx.org/download/nginx-1.21.3.tar.gz --2022-05-10 13:39:16-- http://nginx.org/download/nginx-1.21.3.tar.gz 正在解析主機 nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5704::6, ... 正在連線 nginx.org (nginx.org)|3.125.197.172|:80... 已連線。 已發出 HTTP 請求,正在等待迴應... 200 OK 長度:1066609 (1.0M) [application/octet-stream] 正在儲存至: “nginx-1.21.3.tar.gz” 100%[=============================================================================================>] 1,066,609 1.15MB/s 用時 0.9s 2022-05-10 13:39:18 (1.15 MB/s) - 已儲存 “nginx-1.21.3.tar.gz” [1066609/1066609])
2、檢視當前nginx版本號
[root@aliyun ~]# cd /usr/local/nginx/
[root@aliyun nginx]# ./sbin/nginx -V
nginx version: nginx/1.1.18
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
3、解壓新版本的tar包
[root@aliyun ~]# tar -xzf nginx-1.21.3.tar.gz [root@aliyun ~]# ls interview myLog.py nginx-1.1.18.tar.gz nginx-1.21.3 nginx-1.21.3.tar.gz tools [root@aliyun ~]# cd nginx-1.21.3
4、執行編譯
[root@aliyun nginx-1.21.3]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module #編譯選項與老版本./sbin/nginx -V查詢的相同
[root@aliyun nginx-1.21.3]# make #(不要執行make install,否則一些配置檔案都會更新)
5、替換老版本的nginx可執行檔案
#備份 [root@aliyun nginx-1.21.3]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old #複製新版本編譯出來的nginx [root@aliyun nginx-1.21.3]# cp ./objs/nginx /usr/local/nginx/sbin/ #檢視 [root@aliyun nginx-1.21.3]# ll /usr/local/nginx/sbin/ 總用量 6828 -rwxr-xr-x 1 root root 6031856 5月 10 13:54 nginx -rwxr-xr-x 1 root root 957104 5月 10 10:01 nginx.old
6、驗證新版本nginx
[root@aliyun nginx]# sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
7、重啟nginx
[root@aliyun nginx]# sbin/nginx -s stop
nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
[root@aliyun nginx]# sbin/nginx
[root@aliyun nginx]# ps -aux | grep nginx
root 13441 0.0 0.0 46008 1124 ? Ss 14:01 0:00 nginx: master process sbin/nginx
nginx 13442 0.0 0.0 46440 1880 ? S 14:01 0:00 nginx: worker process
root 13662 0.0 0.0 112824 984 pts/0 R+ 14:01 0:00 grep --color=auto nginx
[root@aliyun nginx]# sbin/nginx -v
nginx version: nginx/1.21.3
至此,nginx升級版本完成