一,隐藏Nginx软件版本号信息
查看版本号
curl -I 192.168.0.220
HTTP/1.1 200 OK
Server: nginx/1.6.2 #这里清晰的暴露了Web版本号(1.6.2)及软件名称(nginx)
Date: Wed, 23 Aug 2017 10:45:47 GMT
Content-Type: text/html; charset=UTF-8
隐藏版本号
Nginx配置文件nginx.conf中的http标签段内加入“server_tokens off”
server_tokens off; #作用是控制http response header内的Web服务版本信息的显示,以及错误信息中Web服务版本信息的显示。
二更改源码隐藏Nginx软件名及版本号
(1)依次修改3个Nginx源码文件。
修改nginx.h
vim /usr/src/nginx-1.14.0/src/core/nginx.h #进入源码文件的/src/core/里修改版本及软件名
修改后
修改/ngx_http_header_filter_module.c
vim /usr/src/nginx-1.14.0/src/http/ngx_http_header_filter_module.c #进入源码文件/src/http/里修改第49行nginx修改为其他服务名
修改 /ngx_http_special_response.c
vim /usr/src/nginx-1.14.0/src/http/ngx_http_special_response.c #定义对外展示的内容对外展示的NGINX_VER_BUILD名字更改为apache
三个配置文件修改好后 编译安装nginx 启动服务
三更改Nginx服务的默认用户
(1)为Nginx服务建立新用户
useradd -s /sbin/nologin -M nginx #不需要有系统登录权限,应当禁止登陆。
(2)配置Nginx服务,让其使用刚建立的nginx用户
方法有2
1.
vim /usr/local/nginx/conf/nginx.conf #修改主配置文件user项 设为nginx用户和组
2.源码编译安装时指定用户和组
./configure --user=nginx --group=nginx
检查更改用户的效果
ps -ef | grep nginx | grep -v grep #此时worker processes进程对应的用户都变成了nginx