1. 程式人生 > 其它 >Nginx之版本升級(3)

Nginx之版本升級(3)

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升級版本完成

轉自:https://www.cnblogs.com/maxtgood/p/9598113.html