ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 修改或隐藏Nginx的版本号

修改或隐藏Nginx的版本号

原创 Linux操作系统 作者:nginx_web 时间:2012-07-24 10:00:47 0 删除 编辑

隐藏版本号

 

    隐藏nginx的版本号很简单,nginxHttpCoreModule提供了一条叫做server_tokens指令,我这要将这条指令设置为“server_tokens off”就可以了。

   

首先访问一下,看一下现有的版本:

 

[root@ mail ~]# curl --head http://192.168.3.139

HTTP/1.1 403 Forbidden

Server: nginx/0.8.53

Date: Thu, 09 Dec 2010 00:02:04 GMT

Content-Type: text/html

Content-Length: 169

Connection: keep-alive

 

通过访问我得到的是“Server: nginx/0.8.53”。

 

然后在配置文件中,http区段中插入“server_tokens  off;”,重新载入配置文件:

 

[root@mail ~]# vi /usr/local/nginx0.8/conf/nginx.conf

 

worker_processes  1;

 

events {

    worker_connections  1024;

}

 

http {

    include       mime.types;

    default_type  application/octet-stream;

    server_tokens  off;

    expires         5s;

    sendfile        on;

 

    keepalive_timeout  65;

 

include     "sites-enabled/mail*";

 

}

[root@mail ~]#service nginx reload

 

 再次访问,看下图,nginx没有了版本号。

 

      

 

修改版本号

 

    修改版本号的方法可要比隐藏版本号的方法复杂一点,它需要在配置安装nginx之前进行。下载完成nginx并解压后,首先要对源码进行修改,源码文件都在二级目录“nginx-0.8.53/src/”下,找到如下文件“src/core/nginx.h”,然后再对它进行修改,按照下面的代码中指出的两行(以用粗体标明)

 

[root@mail nginx-0.8.53]# vi src/core/nginx.h

 

……

 

#define nginx_version         8053

#define NGINX_VERSION      "10.0"

#define NGINX_VER          "jh/" NGINX_VERSION

 

#define NGINX_VAR          "NGINX"

#define NGX_OLDPID_EXT     ".oldbin"

 

 

#endif /* _NGINX_H_INCLUDED_ */

 

对这两行,你可以随便填写,如果是为了迷惑别人你可以修改为Apache 3.0或是Apache 2.0,或者是微软的IIS(估计这是在自找麻烦!)以及其它的文本服务器名称或版本号都行;如果是想牛X一下,那么就自己起一个响儿不亮的名字吧!修改完成后就可进行编译安装了。安装完成后访问一下,看一下效果:

 

         

 

没错,已经按照我们的意思了。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27043155/viewspace-736457/,如需转载,请注明出处,否则将追究法律责任。

下一篇: nginx日志切割
请登录后发表评论 登录
全部评论

注册时间:2012-06-06

  • 博文量
    54
  • 访问量
    409504