隐藏Nginx版本号的最简单的方法
Nginx默认是显示版本号的,如:
[root@hadooptest~]#curl-Iwww.nginx.org HTTP/1.1200OK Server:nginx/0.8.44 Date:Tue,13Jul201014:05:11GMT Content-Type:text/html Content-Length:8284 Last-Modified:Tue,13Jul201012:00:13GMT Connection:keep-alive Keep-Alive:timeout=15 Accept-Ranges:bytes
这样就给人家看到你的服务器nginx版本是0.8.44,前些时间暴出了一些Nginx版本漏洞,就是说有些版本有漏洞,而有些版本没有。这样暴露出来的版本号就容易变成攻击者可利用的信息。所以,从安全的角度来说,隐藏版本号会相对安全些!
那nginx版本号可以隐藏不?其实可以的,看下面我的步骤:
1、进入nginx配置文件的目录(此目录根据安装时决定),用vim编辑打开
vimnginx.conf
在http{—}里加上server_tokensoff;如:
http{ ……省略 sendfileon; tcp_nopushon; keepalive_timeout60; tcp_nodelayon; server_tokensoff; …….省略 }
2、编辑php-fpm配置文件,如fastcgi.conf或fcgi.conf(这个配置文件名也可以自定义的,根据具体文件名修改):
找到:
fastcgi_paramSERVER_SOFTWAREnginx/$nginx_version;
改为:
fastcgi_paramSERVER_SOFTWAREnginx;
3、重新加载nginx配置:
#/etc/init.d/nginxreload
这样就完全对外隐藏了nginx版本号了,就是出现404、501等页面也不会显示nginx版本。
修改后内容是:
[root@hadooptest~]#curl-Iwww.nginx.org HTTP/1.1200OK Server:nginx Date:Tue,13Jul201014:05:11GMT Content-Type:text/html Content-Length:8284 Last-Modified:Tue,13Jul201012:00:13GMT Connection:keep-alive Keep-Alive:timeout=15 Accept-Ranges:bytes