关于nginx服务器,默认是显示nginx的版本号的,我们可以使用curl命令很简单的就能看到我们的nginx服务器版本号。

[xxx@xxx ~]# curl -I www.addam.com
HTTP/1.1 200 OK
Server: nginx/1.1.5
Date: Fri, 18 Jul 2014 13:25:26 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.3.3
X-Pingback: http://www.addam.com/xmlrpc.php
Link: <http://www.addam.com/>; rel=shortlin

我们可以很直观的看到ningx的版本信息,而别人看到我们的nginx版本信息,对于服务器来说是很不安全的,如果是某个版本出现了漏洞而我们没有及时更新,那么***很可能利用nginx的版本漏洞对我们的服务器进行***,从安全角度来说我们还是需要屏蔽掉nginx的版本信息。方法如下:
打开nginx.conf配置文件,在http{}段中添加如下内容
       

server_tokens off;


具体如下:

   http {
   ……省略
   sendfile        on;
   #tcp_nopush     on;
    server_tokens off;
   …….省略
   }

保存退出,然后重新加载nginx

service nginx reload

我们可以继续使用curl命令来查看一下:

[xxx@xxx ~]# curl -I www.addam.com
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 18 Jul 2014 05:36:12 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.3.3
X-Pingback: http://www.addam.com/xmlrpc.php
Link: <http://www.addam.com/>; rel=shortlink


好了,这里的nginx版本信息我们已经屏蔽掉了。

接下来我们需要做的是屏蔽掉php的版本信息,关于php的版本信息屏蔽起来也很简单,我们可以直接编辑php.ini文件

[xxx@xxx etc]# vi /etc/php.ini 
expose_php = Off                         #将这里的On改成Off即可

重启一下php-fpm,然后我们可以看一下还有没有php版本的信息

[xxx@xxx ~]# curl -I www.addam.com
HTTP/1.1 200 OK
Server: nginx
Date: Fri, 18 Jul 2014 05:58:30 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
X-Pingback: http://www.addam.com/xmlrpc.php
Link: <http://www.addam.com/>; rel=shortlink

我们可以看到已经没有关于可以显示php版本信息的内容了。