原文出处:
http://www.javatang.com/archives/2006/03/17/282911.html
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!
作者: Jet Mah from Java堂
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!
整理了一些Apache2的安全和优化配置
1.修改Apache返回的头部信息
ServerTokens Prod
这样可以在Apache的配置文件里面作如下设置让它返回的关于服务器的信息减少到最少。
2. 设置每个连接的最大请求数
修改MaxKeepAliveRequests,默认的值为100,意思是如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不 会被某个连接大量占用。但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。NT环境,只能配置这个参数来提供性能。
3. 设置session的持续时间
KeepAlive on
KeepAliveTimeout 15
这样就能限制每个session的保持时间是15秒。session的使用可以使得很多请求都可以通过同一个tcp连接来发送,节约了网络资源和系统资源。
4. 对客户端进行域名验证
HostnameLookups on|off|double
如果是使用on,那么只有进行一次反查,如果用double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合才行,而off就是不进行域名验证。
如果为了安全,建议使用double;为了加快访问速度,建议使用off。
5. Server-Pool大小设定(针对MPM的)
- # prefork MPM
- # StartServers:启动时服务器启动的进程数
- # MinSpareServers:保有的备用进程的最小数目
- # MaxSpareServers:保有的备用进程的最大数目
- # MaxClients:服务器允许启动的最大进程数
- # MaxRequestsPerChild:一个服务进程允许的最大请求数
- <ifmodule></ifmodule>
- StartServers 5
- MinSpareServers 5
- MaxSpareServers 10
- MaxClients 150
- MaxRequestPerChild 0
- # worker MPM
- # StartServers:服务器启动时的服务进程数目
- # MaxClients:允许同时连接的最大用户数目
- # MinSpareThreads:保有的最小工作线程数目
- # MaxSpareThreads:允许保有的最大工作线程数目
- # ThreadsPerChild:每个服务进程中的工作线程常数
- # MaxRequestsPerChild:服务进程中允许的最大请求数目
- <ifmodule></ifmodule>
- StartServers 2
- MaxClients 150
- MinSpareThreads 25
- MaxSpareThreads 75
- ThreadsPerChild 25
- MaxRequestsPerChild 0
- # perchild MPM
- # NumServers:服务进程数量
- # StartThreads:每个服务进程中的起始线程数量
- # MinSpareThreads:保有的最小线程数量
- # MaxSpareThreads:保有的最大线程数量
- # MaxThreadsPerChild:每个服务进程允许的最大线程数
- # MaxRequestsPerChild:每个服务进程允许连接的最大数量
- <ifmodule></ifmodule>
- NumServers 5
- StartThreads 5
- MinSpareThreads 5
- MaxSpareThreads 10
- MaxThreadsPerChild 20
- MaxRequestsPerChild 0
- # WinNT MPM
- # ThreadsPerChild:服务进程中工作线程常数
- # MaxRequestsPerChild:服务进程允许的最大请求数
- <ifmodule></ifmodule>
- ThreadsPerChild 250
- MaxRequestsPerChild 0
- #每个进程的线程数,最大1920。NT只启动父子两个进程,不能设置启动多个进程
- ThreadsPerChild 1900
- 每个子进程能够处理的最大请求数
- MaxRequestsPerChild 10000
参考资料:
Apache 2.0手册中文版
http://kajaa.bbs.us/ApacheManual/