调整参数隐藏Nginx软件版本信息号

参考资料

[1]. 跟老男孩学Linux运维:Web集群实战,老男孩

安装过程

查看本机信息

[root@www ~]# curl -I 127.0.0.1

server_tokens

在Nginx配置文件nginx.conf 中的http标签段内加入 server_tokens off; 参数

http 
{
    server_tokens off;
}

此参数放置在http标签内,作用是控制http response header 内的Web 服务版本信息的显示,以及错误信息中Web服务版本信息的显示。

server_tokens 参数的官方说明

syntax: server_tokens on | off; # 此行为参数语法,on为开启状态,off为关闭状态
default: server_tokens on; # 默认为开启
context: http, server, location # server_tokens 参数可以放置的位置

重启并测试

[root@www conf]# /application/nginx/sbin/nginx -t
[root@www conf]# /application/nginx/sbin/nginx -s reload
[root@www conf]# curl -I 127.0.0.1

更改源码隐藏Nginx软件名及版本号

寻找 nginx.h 文件路径

[root@www ~]# find / -name nginx.h

## 编辑第一个文件
[root@www ~]# vim /home/oldboy/tools/nginx-1.9.9/src/core/nginx.h
## 编辑以下项目
#define NGINX_VERSION      "1.9.1"
#define NGINX_VER          "nginx/" NGINX_VERSION
#define NGINX_VAR          "NGINX"

## 修改后,内容如下
#define NGINX_VERSION      "0.1"
#define NGINX_VER          "www/" NGINX_VERSION
#define NGINX_VAR          "www"

## 编辑第二个文件

[root@www http]# grep -n 'Server: nginx' /home/oldboy/tools/nginx-1.9.9/src/http/ngx_http_header_filter_module.c
[root@www http]# sed -i 's#Server: nginx#Server: www#g' /home/oldboy/tools/nginx-1.9.9/src/http/ngx_http_header_filter_module.c
[root@www http]# grep -n 'Server: www' /home/oldboy/tools/nginx-1.9.9/src/http/ngx_http_header_filter_module.c

## 编辑第三个文件
[root@www http]# vim /home/oldboy/tools/nginx-1.9.9/src/http/ngx_http_special_response.c 
## 编辑以下文件
"
" NGINX_VER "
"
CRLF ## 约21行 "
nginx
"
CRLF ## 约28行 ## 编辑后的内容 "
" NGINX_VER " (www.shuaige.com)
"
CRLF ## 约21行 "
www
"
CRLF ## 约28行 5. 重新编译并再次使用curl 命令查看 [root@www nginx-1.9.9]# service nginx stop [root@www nginx-1.9.9]# cd /home/oldboy/tools/nginx-1.9.9 [root@www nginx-1.9.9]# ./configure --user=nginx --group=nginx --prefix=/application/nginx-1.9.9/ --with-http_stub_status_module --with-http_ssl_module [root@www nginx-1.9.9]# make [root@www nginx-1.9.9]# make install [root@www nginx-1.9.9]# service nginx start [root@www nginx-1.9.9]# curl -I 127.0.0.1

更改Nginx服务的默认用户

## 查看Nginx服务对应的默认用户
[root@www ~]# cd /application/nginx/conf
[root@www conf]# grep '#user' nginx.conf.default
## 为Nginx服务建立新用户
[root@www ~]# useradd nginx -s /sbin/nologin -M
[root@www ~]# id nginx  ## 检查用户


## 配置Nginx用户的方法1
[root@www ~]# vim /application/nginx/conf
## 将默认的 #user nobody 修改为 user nginx nginx

## 配置Nginx用户的方法2
在编译的时候加上 --user=nginx 和 --group=nginx 两个参数
./configure --user=nginx --group=nginx --prefix=/application/nginx-1.9.9/ --with-http_stub_status_module --with-http_ssl_module

## 检查Nginx的用户情况
[root@www conf]# ps -ef|grep nginx|grep -v grep

你可能感兴趣的:(Nginx)