一,隐藏版本号。
首先说明,这个是某一方面隐藏,不是彻底隐藏。未隐藏之前查看nginx信息:

隐藏方法:

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

server_tokens off;

重启nginx,查看nginx信息:
     

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

说明:这个指标不治本,比如php探针,还是可以看到nginx具体版本信息:

原因是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版本信息则彻底修改。

Nginx修改版本信息或隐藏版本号的更多相关文章

  1. 查看 wordpress 版本以及如何隐藏版本号

    查看 wordpress 版本 进入后台“仪表盘”,该页面的左上角图片显示了wordpress的版本号. 查看网页源代码在网站的主页空白处点右键弹出菜单,选择“查看网页源代码”.在出现的源码页面里查找 ...

  2. vsftpd 编译安装 及 隐藏版本号

    环境:Redhat Enterprise Linux AS 4.0 update2(i386) 不提示,均表示以root权限执行. [注:]//为注释符,如"// 建立MySQL组" ...

  3. linux下nginx编译安装、版本信息修改

    环境 centos 7 安装依赖包 yum install -y gcc gcc-c++ glibc glibc-devel pcre pcre-devel zlib zlib-devel opens ...

  4. Nginx小技巧(一)隐藏版本号

    修改nginx.conf server_tokens作用域是http server location语句块 server_tokens默认值是on,表示显示版本信息,设置server_tokens值是 ...

  5. 获取DNS服务器的版本信息

    1 如何获取DNS服务器的版本信息 向某个DNS服务器发送下面的请求即可获得版本信息 dig @115.124.17.156 version.bind chaos txt 它返回的信息如下: ; &l ...

  6. vs下取得资源文件中的版本信息

    在Windows Mobile和Wince(Windows Embedded CE)下开发的产品,有时候需要显示当前产品的版本信息.一般来说,版本信息是保存在资源文件里面的,例如下图: 为了保持一致, ...

  7. nginx 隐藏版本号与WEB服务器信息

    nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看看最终的隐藏结果吧 具体怎么实现呢,其实也很简单,请往下看 1 官网下载最新稳定版 wget http://nginx.org/dow ...

  8. 查看nginx | apache | php | tengine | tomcat版本的信息以及如何隐藏版本信息【转】

    转自: 查看nginx | apache | php | tengine | tomcat版本的信息以及如何隐藏版本信息 - 追马 - 51CTO技术博客http://lovelace.blog.51 ...

  9. nginx安全:修改对外的服务软件名称并隐藏版本号(nginx1.18.0)

    一,为什么要隐藏nginx真实的软件名称? 1,nginx响应的Server头部都会携带上服务软件的名字和版本信息, 服务器软件的版本信息暴光在外部,很容易被黑客了解到,就通过相应版本的漏洞来攻击服务 ...

随机推荐

  1. python代码notepad++不变色问题。

    原来是文档后缀名是.txt造成的,应该改成.py,疏忽了...

  2. Nearest Common Ancestors POJ - 1330 (LCA)

    Nearest Common Ancestors Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 34657   Accept ...

  3. 最短路径(最基础,经典的模板和思想):HDU-2544最短路

    题目: 最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  4. 11、python中的函数(基础)

    一.什么是函数? 在数学中,x2+2x2+3=10这样的叫方程. 而ax2+bx2+c=d这样的才叫函数.数学的函数中,abcd等待输入的未知量叫自变量,它需要我们自己去输入,而x这种待求得未知量叫因 ...

  5. EF上下文对象创建之线程内唯一

    在一次请求中,即一个线程内,若是用到EF数据上下文对象,就创建一个,那么会造成数据混乱,每次创建的对象执行相应的数据库操作,此同时,其他的EF对象内获得的数据可能已经是“过期”的了.即这个数据已经变动 ...

  6. python单元测试用例

    demo1.py #!/usr/bin/python # encoding: utf-8 def hello(): print "i am in demo1" def add(x, ...

  7. CQRS之旅——旅程3(订单和注册限界上下文)

    旅程3:订单和注册限界上下文 CQRS之旅的第一站 "寓言家和鳄鱼是一样的,只是名字不同" --约翰·劳森 描述: 订单和注册上下文有一部分职责在会议预订的过程中,在此上下文中,一 ...

  8. datagrid的基本属性&查询和清空功能的实现

    1.datagrid基本属性 <script charset=UTF-8"> $(function(){ $("#datagrid").datagrid({ ...

  9. 虚拟架构就绪 | 谈谈Windows Server 2012 R2迁移这件小事

    我们所说的“新选择”包括操作系统升级——告别Windows Server 2003或2008,选择用什么样的姿势进行升级呢? 新年伊始,正是企业对自身IT基础设施进行评估的最佳时期.在多项评估项目里面 ...

  10. C#定时器,定时做什么事情

    http://www.cnblogs.com/bobositlife/archive/2015/09/29/aspnet-mvc-csharp-quartz-net-timer-task-schedu ...