标签:number 信息 filter name ade data- vim 性能 作用
实现隐藏 Nginx 版本号的方法是:在 Nginx 配置文件 nginx.conf 中的 http 标签段内加入 “server_tokens off;”参数,如下:
http{
……
server_tokens off;
……
}
此参数放置在 http 标签内,作用是控制 http response header 内的 Nginx 版本号的显示,以及错误信息中 Nginx 版本号的显示。此参数的默认值为 on,表示显示 Nginx 版本号。点击查看官方中文说明。
需要修改3个 Nginx 源代码文件并重新编译安装 Nginx。
第1个文件:nginx-1.14.0/src/core/nginx.h(13、14、22行)
13 #define NGINX_VERSION "1.14.0" # 将1.14.0修改为想要显示的版本号,如1.6.2
14 #define NGINX_VER "nginx/" NGINX_VERSION # 将 nginx 修改为想要修改的软件名称,如 Apache
22 #define NGINX_VAR "NGINX" # 将 NGINX 修改为想要修改的软件名称,如 Apache
第2个文件:nginx-1.14.0/src/http/ngx_http_header_filter_module.c(49行)
49 static u_char ngx_http_server_string[] = "Server: nginx" CRLF; #把“Server: nginx”替换为“Server: Apache”
第3个文件:nginx-1.14.0/src/http/ngx_http_special_response.c(22、36行)
22 "<hr><center>" NGINX_VER "</center>" CRLF # 此行需要修改,修改为"<hr><center>" NGINX_VER "(http://www.cnblogs.com/wushuaishuai/)</center>" CRLF
36 "<hr><center>nginx</center>" CRLF # 此行需要修改,将对外展示的 nginx 改为 Apache
具体操作步骤:
/usr/local/nginx/sbin/nginx -s stop
cp -Rp /usr/local/nginx-1.14.0/ /usr/local/nginx-1.14.0-$(date +%Y%m%d)
/usr/local/nginx/sbin/nginx -V
sed -i ‘s#"1.14.0"#"1.6.2"#g‘ nginx-1.14.0/src/core/nginx.h
sed -i ‘s#"nginx/"#"Apache/"#g‘ nginx-1.14.0/src/core/nginx.h
sed -i ‘s#"NGINX"#"Apache"#g‘ nginx-1.14.0/src/core/nginx.h
sed -i ‘s#Server: nginx#Server: Apache#g‘ nginx-1.14.0/src/http/ngx_http_header_filter_module.c
sed -i ‘s#NGINX_VER_BUILD "#NGINX_VER "(http://www.cnblogs.com/wushuaishuai/)#g‘ nginx-1.14.0/src/http/ngx_http_special_response.c
sed -i ‘s#nginx</center>#Apache</center>#g‘ nginx-1.14.0/src/http/ngx_http_special_response.c
cd nginx-1.14.0/
make
make install
/usr/local/nginx/sbin/nginx
标签:number 信息 filter name ade data- vim 性能 作用
原文地址:https://www.cnblogs.com/wushuaishuai/p/9367688.html