怎么修改Nginx版本名称伪装任意web server

如何修改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[] =
"


nginx
" crlf
"" crlf
"" crlf

修改为:

static u_char ngx_http_error_tail[] =
"


jdws
" crlf
"" crlf
"" crlf

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

修改nginx.conf

在http{}加入

代码如下:

http{
server_tokens off;
}

就可以隐藏版本号了。

注意:

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

未隐藏版本号:

隐藏版本号:

以上就是怎么修改Nginx版本名称伪装任意web server的详细内容,更多请关注其它相关文章!