nginx 隐藏版本号问题!

http模块下添加server_tokens off;php-fpm配置文件也已经修改但是还是显示版本号求解

1个回答

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

[root@bkjz ~]# 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出错页面,比如404页面没有找到等,这是如果用户没有指定页面的话,那么Nginx自己的页面会有版本戳记。

  不过幸运的是对于这两个地方的版本号隐藏,Nginx都提供了简单的办法一步到位,参考server_tokens。通过在配置文件的http节配置server_tokens off来达到我们目的。

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

http { # ...省略一些配置

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

或者

servic nginx reload

reload可以不断业务重载配置,也可以考虑直接重启。

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

qq_33235529
L.Sir 我就是这么做的,不好用
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问