找到ServerSignature,将其On值改为Off ### Yes为启用这个指令用来配置服务器端生成文档的页脚(错误信息mod_proxy的FTP目录列表、mod_info的输出),No为隐藏这些信息
以上方法只能隐藏版本号以及Openssl信息,如果需要真正隐藏命名,或者需要伪装一个新的命名,需要先修改Apache的源码包,然后再进行编译安装
以源码包httpd-2.4.33为例
1.cd 到解压好的 httpd-2.4.33 文件夹里
2.找到include/ap_release.h文件
3.vim httpd-2.4.33/include/ap_release.h文件
找到以下几行:
#define AP_SERVER_BASEVENDOR "Apache Software Foundation" ###服务的供应商名称
#define AP_SERVER_BASEPROJECT "Apache HTTP Server" ###服务的项目名称
#define AP_SERVER_BASEPRODUCT "Apache" ###服务的产品名
#define AP_SERVER_MAJORVERSION_NUMBER 2 ###主版本号
#define AP_SERVER_MINORVERSION_NUMBER 4 ###小版本号
#define AP_SERVER_PATCHLEVEL_NUMBER 33 ###补丁级别
#define AP_SERVER_DEVBUILD_BOOLEAN 0 #
将上边的内容改成你想要的信息,然后保存,前面的#号保留。编译安装,这样再用curl -I 域名 命令来查询时就是你修改后的信息了,对方就彻底不知道你的服务器是什么版本的了^_^
开启deflate压缩模块启用Apache的deflate模块,可以开启压缩功能,减小网站传输时的带宽。
apache需要编译安装方式,以/usr/local/apache为apache的安装目录,以源码包/usr/local/src/httpd-2.4.33为例
首先查看/usr/local/apache/bin/apachectl -M ###查看里面的模块是否有deflate模块,也可以过滤一下/usr/local/apache/bin/apachectl -M | grep deflate
若有则到httpd.conf下面开启,如果没有显示,或者用grep过滤后显示Syntax OK,则说明模块没有安装。
以动态共享模块方式(DSO)编译安装deflate模块
/usr/local/apache/bin/apxs -c -i -a /usr/local/src/httpd-2.4.33/modules/filters/mod_deflate.c #其中前面部分是安装好的apache软件里面的apxs程序,后面是apache的源码安装包里面的deflate压缩模块
apxs程序编译选项:
-c 表示执行编译模块操作
-i 表示执行安装模块操作
-a 表示自动添加一个LoadModule行到httpd.conf文件中,以激活该模块
注意:如果提示-bash: /apache/bin/apxs: /replace/with/path/to/perl/interpreter: bad interpreter: No such file or directory。请安装perl,perl-devel
yum install perl perl-devel
安装完成后修改apxs脚本: vi /usr/local/apache/bin/apxs,将第一行“#!/replace/with/path/to/perl/interpreter -w”修改为#!/usr/bin/perl -w,wq保存退出,然后再次编译该模块
安装完成后,vi /usr/local/apache/conf/httpd.conf中查看该模块是否安装及激活
LoadModule deflate_module modules/mod_deflate.so