本文简单介绍如何在网络上隐藏Nginx版本号。

1.HTTP Header中隐藏

在HTTP header,有个Server:nginx/1.x.x类似会暴露Web服务器所用软件名称以及版本号,这个也是大多数Web服务器最容易暴露版本号的地方,如下:

QQ截图20171114171421.png

隐藏方法:

打开Nginx主配置文件:nginx.conf,取消注释或添加配置语句。

通过在配置文件的http节配置server_tokens off来达到我们目的。

http {
    # ...省略一些配置
  sendfile on;   tcp_nopush on;
  keepalive_timeout 60;
  tcp_nodelay on;    server_tokens off;   #默认是注释掉的

  # ...省略一些配置
}

2.Nginx出错页面

比如404页面没有找到等,这是如果用户没有指定页面的话,那么Nginx自己的页面会有版本戳记。

blob.png

隐藏方法:

编辑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 或
# servic nginx reload

也可以考虑直接重启。

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