apache调优技巧之一隐藏apahce版本信息
如果你的服务器版本信息是这样的,是很 危险的。
[root@xinsz63 httpd-2.2.27]# curl -I 192.168.1.38
HTTP/1.1 403 Forbidden
Date: Thu, 23 Mar 2017 08:46:31 GMT
Server: Apache/2.2.15 (CentOS)
Accept-Ranges: bytes
Content-Length: 5039
Connection: close
Content-Type: text/html; charset=UTF-8
要彻底将版本之类的信息进行改头换面,需要在编译之前修改源码包下include/ap_release.h文件
[root@xuegod63 httpd-2.2.25]#pwd
/usr/local/src
[root@xuegod63 src]# rm -rfhttpd-2.2.25
[root@xuegod63src]# tar zxf httpd-2.2.25.tar.gz
[root@xuegod63 src]# cd httpd-2.2.25
[root@xuegod63 httpd-2.2.25]# vim include/ap_release.h #修改源码中的版本信息为自己公司的相关信息,隐藏真实版本信息
改:
42 #define AP_SERVER_BASEVENDOR "Apache SoftwareFoundation"
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 "xuegod"
#define AP_SERVER_BASEPROJECT "web server"
#define AP_SERVER_BASEPRODUCT "xuegod web server"
#define AP_SERVER_MAJORVERSION_NUMBER 8
#define AP_SERVER_MINORVERSION_NUMBER 1
#define AP_SERVER_PATCHLEVEL_NUMBER 2
#define AP_SERVER_DEVBUILD_BOOLEAN 3
注释:
#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文件进行修改,对方就彻底不知道你的版本号了。
源码编译安装apache
[root@xuegod63httpd-2.2.25]# pwd
/usr/local/src/httpd-2.2.25
[root@xuegod63 httpd-2.2.11]# yum installopenssl*
[root@xuegod63httpd-2.2.25]# ./configure --prefix=/usr/local/apache2.2-xuegod --enable-so--enable-rewrite --enable-ssl --enable-deflate --enable-expires #检查安装环境并生成Makefile文件
配置参数用途:
--prefix=/usr/local/apache2.2 #指定安装路径
--enable-so # 支持动态加载模块
--enable-rewrite #支持网站地址重写
--enable-ssl # 支持ssl加密
--enable-deflate #支持页面传输前进行压缩
--enable-expires #支持设置网页缓存的时间
编译:
[root@xuegod63 httpd-2.2.25]# make -j 4 #把源代码编译成可执行的二进制文件。
安装:
[root@xuegod63 httpd-2.2.25]# make install
启动apache:
配置apache 可以开机启动并且可以使用service命令启动apache服务器
[root@xuegod63 httpd-2.2.25]#cp /usr/local/apache2.2-xuegod/bin/apachectl /etc/init.d/apachectl-xuegod
测试:隐藏apache版本信息
[root@xu63 ~]# curl -I192.168.1.39
HTTP/1.1 200 OK
Date: Sat, 29 Aug 201509:43:44 GMT
Server: xuegod web server/8.1.2-dev (Unix) mod_ssl/8.1.2-devOpenSSL/1.0.0-fips
Last-Modified: Sat, 29 Aug2015 09:37:36 GMT
ETag:"6d086-3a-51e6ff35dba19"
Accept-Ranges: bytes
Content-Length: 58
Content-Type: text/html
已经看不到apache版本相关内容了
本文转自 维度2018 51CTO博客,原文链接:http://blog.51cto.com/xinsz08/1909730,如需转载请自行联系原作者
apache调优技巧之一隐藏apahce版本信息的更多相关文章
- 11 个简单的 Java 性能调优技巧
大多数开发人员理所当然地以为性能优化很复杂,需要大量的经验和知识.好吧,不能说这是完全错误的.优化应用程序以获得最佳性能不是一件容易的事情.但是,这并不意味着如果你不具备这些知识,就不能做任何事情.这 ...
- 11个简单的Java性能调优技巧,傻瓜都能学会!
大多数开发人员理所当然地以为性能优化很复杂,需要大量的经验和知识.好吧,不能说这是完全错误的.优化应用程序以获得最佳性能不是一件容易的事情.但是,这并不意味着如果你不具备这些知识,就不能做任何事情. ...
- Tomcat 调优技巧
Tomcat 调优技巧:1.Tomcat自身调优: ①采用动静分离节约Tomcat的性能: ②调整Tomcat的线程池: ③调整Tomcat的连接器: ④修改Tomcat的运行模式: ⑤禁用AJP连接 ...
- 20个Linux服务器性能调优技巧
Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要 ...
- [转]20个你不得不知的Linux服务器性能调优技巧
Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要 ...
- Apache调优(二)
Apache调优(一) (1).Apache运行模式说明 Apache目前一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块)模式:Prefork(进程模式).Wo ...
- 第三篇、调优之路 Apache调优
1. 简介 在第一篇中整合了apache + tomcat ,利用了apache解析静态文件为tomcat解压.但是在测试机上发现两者性能不足,不能充分利用服务器的性能,该篇中将对apache进行性 ...
- iOS开发25个性能调优技巧
1. 用ARC管理内存 ARC(Automatic Reference Counting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露.它自动为 ...
- LAMP之Apache调优
一.环境的搭建 实验环境: 操作系统:Centos 7.4 [root@xuegod70 ~]# ls apr-1.6.3.tar.gz apr-util-1.6.1.tar.bz2 httpd-2. ...
随机推荐
- Jmeter 压力测试笔记(2)--问题定位
事情已经出了,是该想办法解决的时候了. 经过运维和DBA定位: 数据库读写分离中,读库延时超过了30秒,导致所有请求都压在主库.另外所有数据库都连接数都被占满,但活跃请求数量缺不多. 数据库16K的连 ...
- 微信小程序动态修改页面标题setNavigationBarTitle
微信小程序是可以动态修改页面标题的. 首先我们来看看静态是怎么实现的 在对应页面的json文件里面加入下面代码就可以实现了 { "navigationBarTitleText": ...
- vue-shop项目第一天(用于记录 个人学习)
vue-shop 第一天 一.项目初始化 1.安装vuecli脚手架(依赖于webpack)[前端自动构建工具]. 2.安装插件(element-ui)[第三方插件库], 安装依赖(axios)[调用 ...
- 37 net 网络编程
InetAddress:此类表示互联网协议 (IP) 地址. Stringbuilder getHostAddress() 返回 IP 地址. Stringbuilder getHostName() ...
- python3(十七) nonameFunc
L = list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])) print(L) # [1, 4, 9, 16, 25, 36, 49, 64, ...
- 通过Powershell检查SMTP地址是否被检测网站列入黑名单
通常,我们可能因为某些用户发送了一些非常规邮件,邮件出口地址被一些权威网站列入黑名单,导致大量业务邮件无法正常发送.这时候,我们可以通过powershell写一些关于IP地址检测的脚本,并列入计划任务 ...
- leetcode c++做题思路和题解(5)——堆的例题和总结
堆和优先队列 堆的简介, 是一种二叉树, 有最大堆和最小堆miniheap. 通常用于构建优先队列. 0. 目录 数据流中的第K大元素 1. 数据流中的第K大元素 数据流中的第K大元素 复杂度为log ...
- 逻辑对象中时间类型 保存时 隐藏bug
开发功能中的一些逻辑对象中的一些时间 属性,在保存数据库时有一个隐藏的bug,假如 我vo属性定义的就是date 类型,那我定时保存数据库时可能就会出错,eq:假如这个属性隔天要重置一些东西,表中这个 ...
- 第八节:time和random模块
定义: 模块是一组Python代码的集合,可以使用其他模块,也可以被其他模块使用. 重点: 1.模块的名字不要和自带的模块名字相同,不然会优先调用自己的那个模块,因为查找模块的时候是按照sys.pat ...
- Alpha-release 总结
因组员一周来事情较多,因此博客更新停滞了一个星期.这周我们已经开始了第二个release的相关工作,首先先对上一个release的工作进行简短总结. 团队在上个星期进行了alpha-release版本 ...