【编译安装】将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命令来测试是否修改成功
总结
修改Nginx服务器名称其实不单为了装逼,也能起到一定防护作用,nginx曾爆出过漏洞,修改服务器名称后机器人扫描到服务器名称不是nginx可能就绕过了,从而达到欺骗手段。

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性