关闭nginx头部版本号和显示的nginx

当使用nginx做为web服务器时,在头部信息会看到版本号相关的信息


关闭nginx版本号比较简单,只需要在nginx.conf的http内添加如下内容重载配置即可

server_tokens off

可以看到版本号没有了


如果想更改Server 的显示名称,需要改nginx的源码,找到nginx的安装包路径

vi /root/nginx-1.2.6/src/core/nginx.h

找到以下内容

#define NGINX_VERSION      "1.2.6"
#define NGINX_VER          "nginx/" NGINX_VERSION
#define NGINX_VAR          "NGINX"
#define NGX_OLDPID_EXT     ".oldbin"

修改成如下内容,可以根据自己需要修改

#define NGINX_VERSION      "10"
#define NGINX_VER          "test/" NGINX_VERSION
#define NGINX_VAR          "test"
#define NGX_OLDPID_EXT     ".oldbin"

nginx.conf添加了 server_tokens off 后,还需修改以下文件

vi /root/nginx-1.2.6/src/http/ngx_http_header_filter_module.c

找到以下内容

static char ngx_http_server_string[] = "Server: nginx" CRLF;
static char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;

修改成如下内容

static char ngx_http_server_string[] = "Server: test" CRLF;
static char ngx_http_server_full_string[] = "Server: test"  CRLF;

最后再修改以下文件,该文件是错误页面显示的内容,生产环境建议自定义错误页面

vi /root/nginx-1.2.6/src/http/ngx_http_special_response.c 

找到以下内容

"<hr><center>nginx</center>" CRLF

修改成如下内容

"<hr><center>test</center>" CRLF

查看安装时的编译参数

/usb/local/nginx/sbin/nginx -V

重新编译

cd /root/nginx-1.2.6

 ./configure --with-http_ssl_module --with-http_secure_link_module

make

由于nginx已在提供服务,所以我这里不安装,选择平滑升级

mv /usb/local/nginx/sbin/nginx /usb/local/nginx/sbin/nginx.old

cp /root/nginx-1.2.6/objs/nginx /usb/local/nginx/sbin/

kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

再次查看
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值