本文作者:阿豪

Linux下Nginx服务名称修改为任意名字

阿豪 3个月前 ( 03-30 ) 330
Linux下Nginx服务名称修改为任意名字摘要: Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。为了服务器系统安全,我们一般会吧默认显示的Nginx名...

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。为了服务器系统安全,我们一般会吧默认显示的Nginx名称改成其他的,下面教大家如何更改

下载Nginx

nginx官方下载地址为:http://nginx.org/en/download.html ,找到最新稳定版本将源码下载到服务器(推荐下载稳定版)

image.png

修改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"

image.png

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

image.png

文件三:src/http/ngx_http_special_response.c

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

image.png

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

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

image.png

通过修改上面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这篇文章不做描述可以参考如下文章

Linux之Nginx安装

我们可以使用curl命令来测试是否修改成功,执行测试命令curl -I 192.168.80.17返回的结果如下,可以看到Server那里已经变为ahaoweb

image.png

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

如何隐藏Nginx版本号

文章版权及转载声明

作者:阿豪本文地址:https://www.ahaoyw.com/article/564.html发布于 3个月前 ( 03-30 )
文章转载或复制请以超链接形式并注明出处Ahao.Yw • 挨踢仔博客

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏