当前位置 主页 > 服务器问题 > Linux/apache问题 >

    nginx/apache/php隐藏http头部版本信息的实现方法

    栏目:Linux/apache问题 时间:2018-10-04 13:51

    有时候我们需要隐藏我们的服务器版本信息,防止有心人士的研究,更安全,这里介绍下在nginx/apache/php中如何隐藏http头部版本信息的方法,有需要的朋友参考下吧

    1、nginx隐藏头部版本信息方法

         编辑nginx.conf配置文件,在http{}内增加如下一行

    复制代码 代码如下:
    http {
          ……
          server_tokens off;
          ……
         }   

         编辑php-fpm配置文件,fastcgi.conf或fcgi.conf

    找到:

    复制代码 代码如下:
    fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

    改为:

    复制代码 代码如下:
    fastcgi_param SERVER_SOFTWARE nginx;

    重启nginx服务生效

    复制代码 代码如下:
    [root@xmydlinux conf]# curl --head 127.0.0.1               
    HTTP/1.1 200 OK
    Server: nginx
    Content-Type: text/html; charset=utf-8
    Connection: keep-alive
    …………

    2、apache隐藏头部版本信息

         编辑httpd.conf文件

    找到:
    复制代码 代码如下:
    ServerTokens OS
    ServerSignature On

    修改为:
    复制代码 代码如下:
    ServerTokens ProductOnly
    ServerSignature Off

    重新启动httpd服务生效

    复制代码 代码如下:
    [root@xmydlinux ~]# curl -I 127.0.0.1            
    HTTP/1.1 200 OK
    Server: Apache
    Accept-Ranges: bytes
    Content-Length: 97
    Connection: close
    Content-Type: text/html

    另:可更改源码include目录下ap_release.h这个文件

    复制代码 代码如下:
    #define AP_SERVER_BASEVENDOR “Apache Software Foundation”  #apache相关字样都可更改
    #define AP_SERVER_BASEPROJECT “Apache HTTP Server”
    #define AP_SERVER_BASEPRODUCT “Apache”

    #define AP_SERVER_MAJORVERSION_NUMBER 2      #版本字段可随意更改
    #define AP_SERVER_MINORVERSION_NUMBER 2
    #define AP_SERVER_PATCHLEVEL_NUMBER 17
    #define AP_SERVER_DEVBUILD_BOOLEAN 0

    3、PHP版本头部文件隐藏返回

    修改php.ini文件

    找到:
    复制代码 代码如下:
    expose_php = On

    修改为:
    复制代码 代码如下:
    expose_php = Off

    可以避免http头部信息中返回“X-Powered-By: PHP/5.2.17”字样。。