溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Nginx的優(yōu)化——版本隱藏、超時(shí)管理、進(jìn)程管理

發(fā)布時(shí)間:2020-06-21 23:37:11 來源:網(wǎng)絡(luò) 閱讀:302 作者:wx5d3faba330584 欄目:系統(tǒng)運(yùn)維

配置Nginx隱藏版本號(hào)

在生產(chǎn)環(huán)境中,需要隱藏Nginx的版本號(hào),以減少安全隱患

查看方法

1、使用fiddler I具在Windows客戶端查看Nginx版本號(hào),
在CentOS系統(tǒng)中使用“curl -I 網(wǎng)址”命令查看

Nginx隱藏版本號(hào)的方法

1、修改配置文件法
2、修改源碼法

實(shí)驗(yàn)

一、修改配置文件法
1.Nginx的配置文件中的server_ tokens 選項(xiàng)的值設(shè)置為off

[root@www conf]# vim nginx.conf
.....
server_ tokens off;
.....
[root@www conf]# nginx -t

2、重啟服務(wù),訪問網(wǎng)站使用curl -I命令檢測

[root@www conf]# service nginx restart
[root@www conf]# curl -1 http://192.1 68.9.209/
HTTP/1.1200 OK
Server: nginx

3.若php配置文件中配置了fastcgi param SERVER SOFTWARE選項(xiàng)。則編輯php-fpm配置文件,將fastcgi param SERVER SOFTWARE對(duì)應(yīng)的值修改為

fastcgi_ param SERVER_ SOFTWARE nginx ;

二、修改源碼法
除了將版本號(hào)進(jìn)行隱藏,我們還可以給意圖不軌者一個(gè)錯(cuò)誤的版本號(hào),修改nginx.hwen件 (缺點(diǎn):需要將nginx重新進(jìn)行編譯安裝)

[root@localhost nginx]# cd /opt/nginx-1.12.2/src/core/
修改該目錄下源碼文件nginx.h
[root@localhost core]# vim nginx.h 
#define NGINX_VERSION      "9.9.9"
    修改偽裝版本號(hào)

將nginx進(jìn)行重新編譯安裝

[root@localhost core]# cd /opt/nginx-1.12.2/
[root@localhost nginx-1.12.2]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx
[root@localhost nginx-1.12.2]# make && make install             //重新進(jìn)行編譯安裝
[root@localhost nginx-1.12.2]# cd /usr/local/nginx/conf/
[root@localhost conf]# service nginx stop                       //重啟服務(wù)
[root@localhost conf]# service nginx start 

檢查是否偽裝成功(確保主配置文件中server_tokens on;)

[root@localhost conf]# curl -I http://192.168.142.128
HTTP/1.1 200 OK
Server: nginx/9.9.9                      //偽裝成功
Date: Wed, 13 Nov 2019 08:38:17 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 13 Nov 2019 08:04:45 GMT
Connection: keep-alive
ETag: "5dcbb91d-264"
Accept-Ranges: bytes

nginx超時(shí)時(shí)間管理

為了保證資源的最有效的利用,不被長時(shí)間不進(jìn)行操作的用戶所占用,因此就需要進(jìn)行超時(shí)時(shí)間的管理。
1、修改主配置文件

[root@localhost conf]# pwd
/usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
找到'keepalive_timeout',修改并在下面添加
    keepalive_timeout  65 180;       #前后分別為服務(wù)器端超時(shí)時(shí)間,客戶端超時(shí)時(shí)間。
    client_header_timeout 80;         #等待客戶端發(fā)送請求頭的超時(shí)時(shí)間
    client_body_timeout 70;          #客戶端發(fā)請求體超時(shí)時(shí)間

[root@localhost conf]# service nginx stop 
[root@localhost conf]# service nginx start

nginx進(jìn)程管理

1、通常默認(rèn)情況下,nginx的運(yùn)行進(jìn)程(worker_processes)僅為1

[root@localhost conf]# ps aux | grep nginx
root      43055  0.0  0.0  20540   608 ?        Ss   17:13   0:00 nginx: master process /usr/local/nginx/sbin/nginx     //主進(jìn)程不可改變
nginx     43056  0.0  0.0  23064  1380 ?        S    17:13   0:00 nginx: worker process    //工作進(jìn)程可以根據(jù)具體情況手動(dòng)進(jìn)行更改
root      43189  0.0  0.0 112728   968 pts/1    S+   17:25   0:00 grep --color=auto nginx

2、為了給有多核處理器的服務(wù)器有更高的處理效率,我們需要對(duì)進(jìn)程進(jìn)行修改(本次實(shí)驗(yàn)環(huán)境為2核服務(wù)器)

[root@localhost conf]# pwd
/usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
搜索'worker_processes',并添加
    worker_processes  2;          #修改為與cpu數(shù)量相同   
    worker_cpu_affinity 01 10;      #設(shè)置每個(gè)進(jìn)程由不同cpu處理
[root@localhost conf]# service nginx stop       #重啟服務(wù)
[root@localhost conf]# service nginx start

3、此時(shí),我們再次查看nginx的進(jìn)程(會(huì)擁有兩條工作進(jìn)程)

[root@localhost conf]# ps aux | grep nginx
root      43353  0.0  0.0  20540   604 ?        Ss   17:36   0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx     43354  0.0  0.0  23064  1372 ?        S    17:36   0:00 nginx: worker process
nginx     43355  0.0  0.0  23064  1364 ?        S    17:36   0:00 nginx: worker process
root      43367  0.0  0.0 112728   972 pts/1    S+   17:37   0:00 grep --color=auto nginx

今天的內(nèi)容已上完?。?!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI