Nginx 会在 http 头,或者出现错误页的时候会有醒目的版本号提示。
为了安全,可以关闭这些信息。
方法很简单,只需在 nginx.conf 的 http { 里头加入 server_tokens 的参数
例如:
http {
include mime.types;
default_type application/octet-stream;
server_tokens off; #关闭版本显示
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
使用 curl 工具测试结果如下:
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Fri, 11 Dec 2009 01:47:53 GMT
Content-Type: text/html
Content-Length: 178
Connection: keep-alive
Keep-Alive: timeout=20
Location: http://www.gznow.cn/index
如果想把 Server 所显示的名称也修改,可以参阅:http://www.oschina.net/bbs/thread/1568?lp=1


我们使用 curl -I 等软件获取WEB 服务器http 头的时候会返回以下信息:
HTTP/1.1 200 OK
Server: nginx/0.6.35
Date: Tue, 14 Jul 2009 08:33:01 GMT
Content-Type: text/html
Content-Length: 86
Last-Modified: Tue, 16 Jun 2009 06:55:32 GMT
Connection: keep-alive
Expires: Sat, 18 Jul 2009 08:33:01 GMT
Cache-Control: max-age=345600
Accept-Ranges: bytes
其中 Server: nginx/0.6.35 这个 是 httpd 服务器的版本已经信息。
Nginx 的话可以通过修改源代码 src/core/nginx.h
/*
* Copyright (C) Igor Sysoev
*/
#ifndef _NGINX_H_INCLUDED_
#define _NGINX_H_INCLUDED_
#define NGINX_VERSION “0.6.35″
#define NGINX_VER “nginx/” NGINX_VERSION
#define NGINX_VAR “NGINX”
#define NGX_OLDPID_EXT “.oldbin”
#endif /* _NGINX_H_INCLUDED_ */
############# 我把我的改成 #############
/*
* Copyright (C) Igor Sysoev
*/
#ifndef _NGINX_H_INCLUDED_
#define _NGINX_H_INCLUDED_
#define NGINX_VERSION “1.0″
#define NGINX_VER “GzNow/” NGINX_VERSION
#define NGINX_VAR “GzNow”
#define NGX_OLDPID_EXT “.oldbin”
#endif /* _NGINX_H_INCLUDED_ */
########## 保存退出之后,就像平时一样编译安装。##########
这样你就有了你自己名字的 httpd 服务器了。