阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

将Nginx服务器名称修改为任意名字

157次阅读
没有评论

共计 1406 个字符,预计需要花费 4 分钟才能阅读完成。




Nginx (engine x) 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。小 z 博客也正好使用的 Nginx 作为 WEB 服务器,为了装逼,我们来将 nginx 服务器名称修改为其它名字。

下载 nginx

nginx 官方下载地址为:http://nginx.org/en/download.html,找到最新稳定版本将源码下载到本地。

修改 nginx 源码

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

文件一:src/core/nginx.h

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

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

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

文件三:src/http/ngx_http_special_response.c

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

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

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

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

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

测试

修改完毕后,需要将源码重新编译,如何编译 nginx 这篇文章不做描述,具体请网上搜索。我们可以使用 curl 命令来测试是否修改成功,执行测试命令 curl -I https://www.xiaoz.me 返回的结果如下,可以看到 Server 那里已经变为xcdn

总结

修改 Nginx 服务器名称其实不单为了装逼,也能起到一定防护作用,nginx 曾爆出过漏洞,修改服务器名称后机器人扫描到服务器名称不是 nginx 可能就绕过了,从而达到欺骗手段。

此文部分内容参考了:如何修改 Nginx 服务内部默认名称为任意名字

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1406字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中