LAMP调优(一)之版本隐藏和错误页面显示处理

LAMP调优

查看apache版本

#curl –I IP  

生产环境中,部署了apache之后,我们应该从安全还是从性能方面,对其做诸多优化调试

防止别人看到系统版本,进行漏洞攻击

一.屏蔽apache版本信息,要彻底将版本之类的信息全部修改,需要进行重新编译,修改源码包下include目录下的ap_release.h文件

删除apache

#rm –rf /usr/local/src/httpd-2.2.25

解压

#tar zxvf  httpd-2.2.25.tar.gz

#cd  httpd-2.2.25

修改源码中的版本信息

#vim include/ap_release.h

改:

42 #define AP_SERVER_BASEVENDOR "ApacheSoftware Foundation"

 43 #defineAP_SERVER_BASEPROJECT "Apache HTTP Server"

 44 #defineAP_SERVER_BASEPRODUCT "Apache"

 45

 46 #defineAP_SERVER_MAJORVERSION_NUMBER 2

 47 #defineAP_SERVER_MINORVERSION_NUMBER 2

 48 #defineAP_SERVER_PATCHLEVEL_NUMBER   25

 49 #defineAP_SERVER_DEVBUILD_BOOLEAN    0

为:

#define AP_SERVER_BASEVENDOR "it is notapache"

#define AP_SERVER_BASEPROJECT "webserver"

#define AP_SERVER_BASEPRODUCT "web"

 

#define AP_SERVER_MAJORVERSION_NUMBER 18

#define AP_SERVER_MINORVERSION_NUMBER 17

#define AP_SERVER_PATCHLEVEL_NUMBER   21

#define AP_SERVER_DEVBUILD_BOOLEAN    33

注释:

#define AP_SERVER_BASEVENDOR "Apache SoftwareFoundation" #服务的供应商名称

#define AP_SERVER_BASEPROJECT "Apache HTTPServer"  #服务的项目名称

#define AP_SERVER_BASEPRODUCT"Apache"        #服务的产品名

#define AP_SERVER_MAJORVERSION_NUMBER 2  #主要版本号

#define AP_SERVER_MINORVERSION_NUMBER 4  #小版本号

#define AP_SERVER_PATCHLEVEL_NUMBER  6  #补丁级别

#define AP_SERVER_DEVBUILD_BOOLEAN  0  #

注:上述列出的行,大家可以修改成自己想要的,然后编译安装之后,再对httpd-default.conf文件进行修改,对方就彻底不知道你的版本号了。

源码编译http://blog.csdn.net/qq_37392757/article/details/77532650

修改默认首页内容

#echoapache2.4>>/usr/local/apache2.4/hrdoc.index.html

启动apache

#service apache2.4 start

测试:#curl –I ip   //看不到版本内容了

HTTP/1.1 200 OK

Date: Tus, 24 Aug 2017 09:43:44 GMT

Server: web/18.17.21.33-dev (Unix) mod_ssl/18.17.21.33-devOpenSSL/1.0.0-fips

Last-Modified: Tus, 24 Aug 2017 09:37:36 GMT

ETag: "****************"

Accept-Ranges: bytes

Content-Length: 58

Content-Type: text/html

可以看到版本信息已经被修改

再次修改

修改httpd.conf

#vim /usr/loacal/apache2.4/conf/httpd.conf

#405行取消注释

Include conf/extra/httpd-default.conf

wq

修改httpd-default.conf文件,修改如下两个地方

#vim /usr/local/apache2.4/conf/extra/httpd-default.conf

改:

55 ServerTokens Full

65 ServerSignature On

为:

ServerTokens Prod

ServerSignature Off

         :wq

         重启apache服务

         测试:#curl –I ip

         HTTP/1.1200 OK

Date: Tus, 24 Aug 2017 09:55:31 GMT

Server: web

Last-Modified: Tus, 24 Aug 2017 09:37:36 GMT

ETag: "***********"

Accept-Ranges: bytes

Content-Length: 58

Content-Type: text/html

二.错误页面404等显示处理

1.      方案一:

修改根目录标签中的内容,添加

#vim /usr/loacal/apache2.4/conf/httpd.conf

132 <Directory"/usr/local/apache2.2-xuegod/htdocs">

。。。

在大约159行,插入:

     ErrorDocument 404 /404.html

160 </Directory>

:wq

注:#404错误跳转到/usr/local/apache2.2-xuegod/htdocs下的404.html页面上

注:ErrorDocument的命令格式如下:

ErrorDocument 错误代码 跳转到的页面链接或文件

                  创建404测试页

                  #echo“这货不是404” >/usr/local/apache2.4/htdocs/404.html

                  重启apache服务,并且打开网址查看eghttp://192.168.0.1/aaa.html

2.      方案二:

出错后,跳转到一个链接

修改根目录标签中的内容,添加

#vim /usr/loacal/apache2.4/conf/httpd.conf

132 <Directory"/usr/local/apache2.2-xuegod/htdocs">

。。。

在大约159行,插入:

    ErrorDocument 404 http://www.baidu.com

160 </Directory>

:wq

#404错误跳转到http://www.baidu.com

重启apache服务,并且打开网址查看eghttp://192.168.0.1/aaa.html

总结:ErrorDocument的命令格式如下:

ErrorDocument 错误代码 跳转到的页面或文件

另外这里需要注意,你若设置跳转到文件,必须要有这个文件才行。另外文件必须在站点目录内,不然会报错。

在跳转到文件的测试中,我用全路径和别名路径进行测试,当把404错误页面跳转文件放到其他目录的时候,不报错,但是页面跳转不过去。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值