欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

隐藏Nginx版本号的最简单的方法

程序员文章站 2022-03-18 13:38:37
nginx默认是显示版本号的,如: [root@hadooptest ~]# curl -i www.nginx.org http/1.1 200 ok se...

nginx默认是显示版本号的,如:

[root@hadooptest ~]# curl -i www.nginx.org
http/1.1 200 ok
server: nginx/0.8.44
date: tue, 13 jul 2010 14:05:11 gmt
content-type: text/html
content-length: 8284
last-modified: tue, 13 jul 2010 12:00:13 gmt
connection: keep-alive
keep-alive: timeout=15
accept-ranges: bytes

这样就给人家看到你的服务器nginx版本是0.8.44,前些时间暴出了一些nginx版本漏洞,就是说有些版本有漏洞,而有些版本没有。这样暴露出来的版本号就容易变成攻击者可利用的信息。所以,从安全的角度来说,隐藏版本号会相对安全些!
那nginx版本号可以隐藏不?其实可以的,看下面我的步骤:

1、进入nginx配置文件的目录(此目录根据安装时决定),用vim编辑打开

vim nginx.conf

在http {—}里加上server_tokens off; 如:

复制代码 代码如下:
http {
……省略
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
server_tokens off;
…….省略
}

2、编辑php-fpm配置文件,如fastcgi.conf或fcgi.conf(这个配置文件名也可以自定义的,根据具体文件名修改):
找到:

fastcgi_param server_software nginx/$nginx_version;

改为:

fastcgi_param server_software nginx;

3、重新加载nginx配置:

# /etc/init.d/nginx reload

这样就完全对外隐藏了nginx版本号了,就是出现404、501等页面也不会显示nginx版本。

修改后内容是:

[root@hadooptest ~]# curl -i www.nginx.org
http/1.1 200 ok
server: nginx
date: tue, 13 jul 2010 14:05:11 gmt
content-type: text/html
content-length: 8284
last-modified: tue, 13 jul 2010 12:00:13 gmt
connection: keep-alive
keep-alive: timeout=15
accept-ranges: bytes