西数超哥博客
运维经验教程分享的博客

Nginx如何修改版本信息或者隐藏版本号

处于某种工作目的或者是个人站点装逼,有可能会用到nginx版本信息的隐藏或者是直接修改版本号,改成其他web engine信息。

一,隐藏版本号。
首先说明,这个是某一方面隐藏,不是彻底隐藏。未隐藏之前查看nginx信息:
Nginx如何修改版本信息或者隐藏版本号 idc资讯 第1张

隐藏方法:
修改nginx.conf配置文件,在http { } 标签里边加入字段:

server_tokens off;

重启nginx,查看nginx信息:
Nginx如何修改版本信息或者隐藏版本号 idc资讯 第2张

通过curl已经无法查看到nginx具体版本信息。

说明:这个指标不治本,比如php探针,还是可以看到nginx具体版本信息:
Nginx如何修改版本信息或者隐藏版本号 idc资讯 第3张

原因是php的配置文件fastcgi.conf中读取的变量是:

fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

鉴于此,我们如果需要php也要显示这些信息,那么需要将这里注释或者从根源上修改nginx版本信息(修改源码,重新编译或者是安装直接就修改)。个人不建议这么搞,毕竟还有nginx错误页面或者其他地方都有可能直接暴露出来。所以,要么简单隐藏,要么彻底改掉nginx信息(下边第二种方法)。

二,根源上修改nginx版本号。
这个比较彻底,一般是安装之前就修改源码,如安装过的,就要修改源码重新编译。一般修改三个地方:
1,修改src/core/nginx.h(Nginx内部名称的)

#define NGINX_VERSION      "1.12.0"
#define NGINX_VER          "nginx/" NGINX_VERSION

2,修改src/http/ngx_http_header_filter_module.c(HTTP ResponseHeader)

static u_char ngx_http_server_string[] = "Server: nginx" CRLF

3,修改src/http/ngx_http_special_response.c(修改错误页的底部Footer)

static u_char ngx_http_error_tail[] = 下的nginx信息

修改完这些以后编译安装,或者重新编译。nginx版本信息则彻底修改。

 

转载请注明:西数超哥博客www.ysidc.top» Nginx如何修改版本信息或者隐藏版本号

https://www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top

赞(0) 打赏
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥学习乐园 » Nginx如何修改版本信息或者隐藏版本号

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

支付宝扫一扫打赏

微信扫一扫打赏