服务器安全:如何将Nginx服务器名称修改为任意名字

无论是作为Web服务器或其他类型程序的反向代理服务器,Nginx(“engine x”)都有着高性能且轻量级的优势。其特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现较好。

这也使得Nginx在如今不管是存放在高配独立服务器上的大型的门户,还是存放在迷你64M内存VPS上的小型的个人博客,Nginx都在被广泛使用着。

今天我们来说说,如何修改Nginx其内部默认名称。这对安全或者装逼都是非常实用的。

 

修改nginx源码

将下载后的nginx源码解压,需要对以下几个文件做出修改。这里我们演示将nginx服务器名称修改为XFast

文件一:src/core/nginx.h

#define NGINX_VER          "nginx/" NGINX_VERSION
//修改为
#define NGINX_VER          "XFast/" NGINX_VERSION

#define NGINX_VAR          "NGINX"
//修改为#
define NGINX_VAR          "XFast"

服务器安全:如何将Nginx服务器名称修改为任意名字

 

文件二: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: XFast" CRLF;

服务器安全:如何将Nginx服务器名称修改为任意名字

 

文件三:src/http/ngx_http_special_response.c

"<hr><center>nginx</center>" CRLF
//修改为
"<hr><center>XFast</center>" CRLF

服务器安全:如何将Nginx服务器名称修改为任意名字

 

文件四:src/http/v2/ngx_http_v2_filter_module.c

"http2 output header: \"server: nginx\"");
//修改为
"http2 output header: \"server: XFast\"");

服务器安全:如何将Nginx服务器名称修改为任意名字

 

通过修改上面4个文件,我们已将nginx服务器名修改为了XFast,如果不想去找到文件一个一个修改,也可以使用sed命令直接替换:

#执行更名操作sed -i "s#\"NGINX\"#\"XFast\"#" src/core/nginx.h
sed -i "s#\"nginx/\"#\"XFast/\"#" src/core/nginx.h
sed -i "s#Server: nginx#Server: XFast#" src/http/ngx_http_header_filter_module.c
sed -i "s#\"<hr><center>nginx<\/center>\"#\"<hr><center>XFast<\/center>\"#" src/http/ngx_http_special_response.c
sed -i "s#server: nginx#server: XFast#"

测试

修改完毕后,需要将源码重新编译,如何编译nginx这篇文章不做描述,具体可以参考:nginx模块编译及反向镜像网站

使用命令nginx -V,显示为XFast了,顺便也把nginx1.16升级到了nginx1.16.1了

服务器安全:如何将Nginx服务器名称修改为任意名字

 

正文完
 
评论(没有评论)