今天我们来说说,如何修改Nginx其内部默认名称。这对安全或者装逼都是非常实用的。
一般来说修改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;
修改src/http/ngx_http_special_response.c(修改错误页的底部Footer)
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配置的东西会无效,回去寻找刚才我们第二步和第三步的配置