配置Nginx隐藏版本号
在生产环境中,需要隐藏Nginx的版本号,以减少安全隐患
查看方法
1、使用fiddler I具在Windows客户端查看Nginx版本号,
在CentOS系统中使用“curl -I 网址”命令查看
Nginx隐藏版本号的方法
1、修改配置文件法
2、修改源码法
实验
一、修改配置文件法
1.Nginx的配置文件中的server_ tokens 选项的值设置为off
[root@www conf]# vim nginx.conf
.....
server_ tokens off;
.....
[root@www conf]# nginx -t
2、重启服务,访问网站使用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选项。则编辑php-fpm配置文件,将fastcgi param SERVER SOFTWARE对应的值修改为
fastcgi_ param SERVER_ SOFTWARE nginx ;
二、修改源码法
除了将版本号进行隐藏,我们还可以给意图不轨者一个错误的版本号,修改nginx.hwen件 (缺点:需要将nginx重新进行编译安装)
[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"
修改伪装版本号
将nginx进行重新编译安装
[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 //重新进行编译安装
[root@localhost nginx-1.12.2]# cd /usr/local/nginx/conf/
[root@localhost conf]# service nginx stop //重启服务
[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超时时间管理
为了保证资源的最有效的利用,不被长时间不进行操作的用户所占用,因此就需要进行超时时间的管理。
1、修改主配置文件
[root@localhost conf]# pwd
/usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
找到'keepalive_timeout',修改并在下面添加
keepalive_timeout 65 180; #前后分别为服务器端超时时间,客户端超时时间。
client_header_timeout 80; #等待客户端发送请求头的超时时间
client_body_timeout 70; #客户端发请求体超时时间
[root@localhost conf]# service nginx stop
[root@localhost conf]# service nginx start
nginx进程管理
1、通常默认情况下,nginx的运行进程(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 //主进程不可改变
nginx 43056 0.0 0.0 23064 1380 ? S 17:13 0:00 nginx: worker process //工作进程可以根据具体情况手动进行更改
root 43189 0.0 0.0 112728 968 pts/1 S+ 17:25 0:00 grep --color=auto nginx
2、为了给有多核处理器的服务器有更高的处理效率,我们需要对进程进行修改(本次实验环境为2核服务器)
[root@localhost conf]# pwd
/usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
搜索'worker_processes',并添加
worker_processes 2; #修改为与cpu数量相同
worker_cpu_affinity 01 10; #设置每个进程由不同cpu处理
[root@localhost conf]# service nginx stop #重启服务
[root@localhost conf]# service nginx start
3、此时,我们再次查看nginx的进程(会拥有两条工作进程)
[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