修改nginx版本名称伪装任意web server

时间:2022-07-05 04:03:44

如何修改nginx默认的名称,可以稍微的伪装一下,也可以装x

一般来说修改3个位置,一个是nginx.h、另一个是ngx_http_header_filter_module.c、还有一个ngx_http_special_response.c。

提示:一般修改都是在nginx编译之前修改,修改完了之后需要重新编译

scr/core/nginx.conf

#define NGINX_VERSION      "1.4.7"
#define NGINX_VER "nginx/" NGINX_VERSION

修改为:(其实版本号也可以随意修改)

#define NGINX_VERSION      "1.4.7"
#define NGINX_VER "jdws/" NGINX_VERSION

其实修改上面一个大部分就会生效!!!

/src/http/ngx_http_header_filter_module.c (HTTP ResponseHeader)

static char ngx_http_server_string[] = "Server: nginx" CRLF;

修改为:

static char ngx_http_server_string[] = "Server: jdws" CRLF;

/src/http/ngx_http_special_response.c

static u_char ngx_http_error_tail[] =
"<hr><center>nginx</center>" CRLF
"</body>" CRLF
"</html>" CRLF

修改为:

static u_char ngx_http_error_tail[] =
"<hr><center>jdws</center>" CRLF
"</body>" CRLF
"</html>" CRLF

除了随意修改版本号之外,还可以隐藏版本号:

修改nginx.conf

在http{}加入

http{
server_tokens off;
}

就可以隐藏版本号了。

注意:

关掉了server_tokens之后,nginx.conf配置的东西会无效,回去寻找刚才我们第二步和第三步的配置

未隐藏版本号:

修改nginx版本名称伪装任意web server隐藏版本号:

修改nginx版本名称伪装任意web server基本ok啦啦啦啦