一、隐藏apache的版本信息

sudo vim /etc/apache2/conf.d/security
ServerTokens Prod 
ServerSignature Off

重启 apache
现在 http 头里面只看到:
Server: Apache 

如果进一步需要把apache这个也修改了,则需要修改文件重新编译:
以Apache 2.0.50为例:
编辑ap_release.h文件,修改“#define AP_SERVER_BASEPRODUCT \"Apache\"”为“#define AP_SERVER_BASEPRODUCT \"Microsoft-IIS/5.0\"”。
编辑os/unix/os.h文件,修改“#define PLATFORM \"Unix\"”为“#define PLATFORM \"Win32\"”。
修改完毕后,重新编译、安装Apache。 

二、隐藏 PHP 版本
在 php.ini文件中修改以下行

expose_php On
改成
expose_php Off

重启apache后,php版本在http头中隐藏了。 

备注:

ServerTokens指令的选项

Full    Apache/2.0.59 (UNIX) DAV/2 PHP/6.0.0-dev
Major   Apache/2
Minimal Apache/2.0.59
Minor   Apache/2.0
OS      Apache/2.0.59 (UNIX) 
Prod    Apache

ServerSignature指令的选项

On(default):输出一行关于版本号以及处于运行中的虚拟主机的ServerName

Off: 不输出任何页脚信息 (如同Apache1.2以及更旧版本,用于迷惑)
(2.0.44之后的版本,由ServerTokens负责是否输出版本号) 

EMail: 创建一个发送给ServerAdmin的”mailto”