Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。为了服务器系统安全,我们一般会吧默认显示的Nginx名称改成其他的,下面教大家如何更改
下载Nginx
nginx官方下载地址为:http://nginx.org/en/download.html ,找到最新稳定版本将源码下载到服务器(推荐下载稳定版)

修改nginx源码
将下载后的nginx源码解压,需要对以下几个文件做出修改。这里我们演示将nginx服务器名称修改为ahaoweb
文件一:src/core/nginx.h
#define NGINX_VER "nginx/" NGINX_VERSION //修改为 #define NGINX_VER "ahaoweb/" NGINX_VERSION #define NGINX_VAR "NGINX" //修改为 #define NGINX_VAR "ahaoweb"

文件二:src/http/ngx_http_header_filter_module.c
static u_char ngx_http_server_string[] = "Server: nginx" CRLF; //修改为 static u_char ngx_http_server_string[] = "Server: ahaoweb" CRLF;

文件三:src/http/ngx_http_special_response.c
"<hr><center>nginx</center>" CRLF //修改为 "<hr><center>ahaoweb</center>" CRLF

文件四:src/http/v2/ngx_http_v2_filter_module.c
"http2 output header: \"server: nginx\""); //修改为 "http2 output header: \"server: ahaoweb\"");

通过修改上面4个文件,我们已将nginx服务器名修改为了ahaoweb,如果不想去找到文件一个一个修改,可以参考下面懒人修改方法
使用sed命令直接替换
sed -i "s#\"NGINX\"#\"ahaoweb\"#" src/core/nginx.h sed -i "s#\"nginx/\"#\"ahaoweb/\"#" src/core/nginx.h sed -i "s#Server: nginx#Server: ahaoweb#" src/http/ngx_http_header_filter_module.c sed -i "s#\"<hr><center>nginx<\/center>\"#\"<hr><center>ahaoweb<\/center>\"#" src/http/ngx_http_special_response.c
修改完毕后,需要将源码进行编译,如何编译nginx这篇文章不做描述可以参考如下文章
我们可以使用curl命令来测试是否修改成功,执行测试命令curl -I 192.168.80.17返回的结果如下,可以看到Server那里已经变为ahaoweb

隐藏版本号可以参考如下教程

