修改或隐藏nginx的版本号

隐藏版本号
 
    隐藏nginx的版本号很简单,nginx的HttpCoreModule提供了一条叫做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-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一下,那么就自己起一个响儿不亮的名字吧!修改完成后就可进行编译安装了。安装完成后访问一下,看一下效果:
 
         


原文地址:https://www.cnblogs.com/lazyball/p/7657266.html