<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />以下内容摘自笔者编著的《网管员必读——网络应用》(第2版)一书:

3.4.3  Apache Web服务器资源使用限制配置<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

“资源使用限制”就是要限制用户对网站特定资源(如目录、服务器硬件等)的访问。相关指令包括:LimitRequestBody、LimitRequestFields、LimitRequestFieldSize、LimitRequestLine、RLimitCPU、RLimitMEM、RLimitNPROC和ThreadStackSize。
LimitRequest*系列指令用来限制Apache在读取客户端请求的过程中使用的资源数量。通过限制这些值,可以减轻某些拒绝服务(DOS)***;RLimit*系列指令限制被Apache子进程所派生的进程使用的资源数量,通常这些指令用来控制CGI脚本和SSI exec命令所使用的资源;ThreadStackSize指令在某些平台上用来控制堆栈大小。

1.LimitRequestBody

LimitRequestBody指令限制客户端发送的HTTP请求体的最大字节长度。其语法格式为:LimitRequestBody Bytes,Bytes在0(意味着无限制)到2 147 483 647(2GB)间限制了请求体所允许的字节数。默认值为“0”。
LimitRequestBody指令可以让用户在其作用范围内(整个服务器、特定目录、特定文件、特定位置)设置一个允许客户端发送的HTTP请求体的最大字节长度的限制。如果客户端的请求超出了这个限制,服务器会回应一个错误,而不是为这个请求继续提供服务。一个普通请求的信息体在很大程度上取决于资源的自然属性和这个资源允许的方法。CGI脚本经常用消息体把表单的信息传递给服务器。使用PUT方法至少能够得到与服务器期望从这个资源得到的信息量差不多大小的值。
此指令给了服务器管理员更大的可控性,以控制客户端不正常的请求行为。这有助于避免某些形式的拒绝服务***。比如,如果允许文件上传到某个位置,而且希望能将上传文件的大小设置为100KB,可以使用下面的指令:
LimitRequestBody 102400

2.LimitRequestFields

LimitRequestFields用来限制接受客户端请求中HTTP请求头域的数量。其语法格式为:LimitRequestFields Number,Number是一个0(意味着不限)到32 767之间的整数。默认值为“100”。默认值为编译时的常量DEFAULT_LIMIT_REQUEST_FIELDS(发布值为100)。
LimitRequestFields指令允许服务器管理员修改在一个HTTP请求中的请求头域的数量限制。服务器需要此值大于一个普通客户端请求中包含头域的数量。一个客户端请求头域的数量很少大于20,但根据客户端的不同这个数字有很大的差别,经常取决于用户配置他们的浏览器扩展以支持更详细的内容协商。可选的HTTP扩展经常使用请求头域来实现。
这个指令给了服务器管理员更大的可控性,以控制客户端不正常的请求行为。这有助于避免某些形式的拒绝服务***。如果正常使用的客户端得到了服务器的错误应答,指出其在请求中发送了过多的头域,你应该适当地增大此值。例如:
LimitRequestFields 50

3.LimitRequestFieldSize

LimitRequestFieldSize指令用来限制客户端发送的请求头的字节数。其语法格式为:LimitRequestFieldsize Bytes,Bytes指定了HTTP请求头允许的字节大小。默认值为“8190”。
LimitRequestFieldSize指令允许服务器管理员增加,或减少HTTP请求头域大小的限制。一般来说,服务器需要此值足够大,以适应普通客户端的任何请求的头域大小。一个普通头域的大小对于不同的客户端来说是有很大差别的,一般与用户配置他们的浏览器以支持更多的内容协议密切相关。
这个指令给了服务器管理员更大的可控性,以控制客户端不正常的请求行为。这有助于避免某些形式的拒绝服务***。例如:
LimitRequestFieldSize 4094
一般情况下,请不要改变这个设置,而是保持其默认设置。

4.LimitRequestLine

LimitRequestLine指令用来限制接收客户端发送的HTTP请求行的字节数。其语法格式为:LimitRequestLine Bytes,Bytes将设置HTTP请求行的字节数限制。默认值也为“8190”。
LimitRequestLine指令允许服务器管理员增加或减少客户端HTTP请求行允许大小的限制。因为请求行包括HTTP方法、URI、协议版本,所以LimitRequestLine指令会限制请求URI的长度。服务器会需要这个值足够大以装载它所有的资源名,包括可能在GET请求中所传递的查询部分的所有信息。
这个指令也给了服务器管理员更大的可控性,以控制客户端不正常的请求行为。这有助于避免某些形式的拒绝服务***。例如:
LimitRequestLine 4094
一般情况下,不需要改变此设置的默认值。

5.RLimitCPU

RLimitCPU指令用来限制Apache子进程派生的进程占用CPU的最大秒数。CPU资源限制表示为每进程占用的秒数。其语法格式为:RLimitCPU seconds|max [seconds|max],默认值未定义,使用操作系统默认值。
第一个参数设置了所有进程的软资源限制,第二个参数设置了最大资源限制。两个参数均可设置为一个数值,或是“max”,以表示设置为操作系统允许的最大值。增大此资源限制最大值需要以root运行服务器或是在初始化启动语句中进行设置。
这个限制将作用于Apache子进程服务的请求所衍生出来的进程,而不是Apache子进程本身。这个范围包括CGI脚本和SSI执行命令,但不包括所有从Apache父进程衍生出来的进程。比如,管道日志。

6.RLimitMEM

RLimitMEM指令用来限制由Apache子进程派生的进程占用的最大内存字节数。内存资源限制表示为每进程占用的字节数。其语法格式为:RLimitMEM Bytes|max [Bytes|max],也没有定义默认值,使用操作系统默认值。
第一个参数设置了所有进程的软资源限制,第二个参数设置了最大资源限制。两个参数均可设置为一个数值,或是“max”,以表示设置为操作系统允许的最大值。增大此资源限制最大值需要以root运行服务器或是在初始化启动语句中进行设置。
这个限制将作用于Apache子进程服务的请求所衍生出来的进程,而不是Apache子进程本身。这个范围包括CGI脚本和SSI执行命令,但不包括所有从Apache父进程衍生出来的进程。比如,管道日志。

7.RLimitNPROC

RLimitNPROC指令用来限制由Apache子进程派生的进程所派生的进程数目。进程限制控制了每个用户的进程数。其语法格式为:RLimitNPROC number|max [number|max],也没有定义默认值,使用操作系统默认值。
第一个参数设置了所有进程的软资源限制,第二个参数设置了最大资源限制。两个参数均可设置为一个数值,或是“max”,以表示设置为操作系统允许的最大值。增大此资源限制最大值需要以administrator账户运行服务器或是在初始化启动语句中进行设置。
这个限制将作用于Apache子进程服务的请求所衍生出来的进程,而不是Apache子进程本身。这个范围包括CGI脚本和SSI执行命令,但不包括所有从Apache父进程衍生出来的进程。比如,管道日志。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
如果CGI进程不是以Web服务器的uid启动的,那么这个指令将限制服务器自己能够创建的进程数目。此种情况将在error_log中以“cannot fork”进行记录。

8.ThreadStackSize

ThreadStackSize指令用来处理客户端连接的线程使用的栈尺寸(字节)。其语法格式为:ThreadStackSize size,在NetWare系统中默认值为65 536;其他系统中等于操作系统默认值。
ThreadStackSize指令设置了处理客户端连接(包括调用模块以协助处理)的线程允许使用的最大栈尺寸(字节)。在大多数情况下,操作系统默认的栈尺寸很合理,但是在某些情况下,需要调整这个值。如,在默认栈尺寸较小的平台上(比如HP-UX),Apache可能会在使用一些需要较大栈尺寸的第三方模块时崩溃。这样的问题可以通过将ThreadStackSize设置为一个较大的值来解决。这种调整应当仅仅在第三方模块提供者明确要求的情况下才需要,或者是通过诊断确定是由于栈空间太小而导致崩溃。

而在某些平台上,如果默认的栈空间大于服务器运行所需空间,那么将ThreadStackSize值降低到小于操作系统默认值可以让每个进程中允许生成的最大线程数量增加。这种类型的调整应该仅在测试环境中使用,并且对所有服务器进程进行充分的测试,因为处理某些罕见的请求需要较大的栈空间。一个很小的服务器配置变化就有可能使得当前的ThreadStackSize设置变得不合适。

转载于:https://blog.51cto.com/winda/28217

Apache Web服务器资源使用限制配置相关推荐

  1. Linux下Apache Web服务器的安装与配置

    1.Apache Web服务器简述     Web服务是目前Internet应用最流行.最受欢迎的服务之一,Linux平台使用最广泛的Web服务器是Apache,它是目前性能最优秀.最稳定的Web服务 ...

  2. ubuntu下搭建apache web服务器,运行cgi配置

    WEB服务器搭建 所需资源下载地址:https://download.csdn.net/download/pjzz__/10548569 一:解压 1.现在/usr/local目录下创建这四个目录 a ...

  3. web服务器 apache_如何配置Apache Web服务器

    web服务器 apache 我已经托管了自己的网站很多年了. 自从20年前从OS / 2切换到Linux以来,我一直使用Apache作为服务器软件. Apache是​​可靠的,众所周知的,并且对于基本 ...

  4. http隐藏服务器相关配置信息,apache web服务器安全配置

    尽管现在购买的云服务器很多都有一键web环境安装包,但是如果是自己配置web环境则需要对各种安全配置十分了解,今天我们就来尝试这做好web服务器安全配置.这里的配置不尽完善,若有纰漏之处还望指出. 修 ...

  5. LAMP-架构环境网站搭建;在Apache Web服务器上部署PHPBB3网站详细步骤;Linux+Apache2+PHP+MySQL 安装和配置

    在Apache Web服务器上部署PHPBB3网站 LAMP-架构环境网站搭建;在Apache Web服务器上部署PHPBB3网站详细步骤:Linux+Apache2+PHP+MySQL 安装和配置 ...

  6. Linux下Tomcat与Apache Web服务器的整合

    原文:http://os.51cto.com/art/200709/57327.htm ◆1.引言 基于Web技术的Internet/Intranet近年来已经得到了广泛的应用,Intranet是以T ...

  7. Caddy - Web服务器的新秀 高性能 配置简单 动态代理 负载均衡

    Caddy - Web服务器的新秀 高性能 配置简单 动态代理 负载均衡 据Netcraft今年5月份放出了一篇统计文章中,Apache.Nginx和微软的IIS分别以45.61%.20.22%和7. ...

  8. Apache WEB 服务器企业实战

    万维网 (WORLD WIDE WEB,WWW)服务器,也称之为 WEB 服务器,主要功能 是提供网上信息浏览服务.WWW 是 Internet 的多媒体信息查询工具,是 Internet 上 飞快发 ...

  9. web服务器 apache_心跳和Apache Web服务器

    web服务器 apache 维持最大的系统正常运行时间对于按需计算的成功至关重要. 不幸的是,许多用于高可用性(HA)的现成解决方案都很昂贵,并且需要专业知识. 本系列的五篇文章为使用公开可用的软件实 ...

最新文章

  1. python读取文件名存到list_python读取文件名称生成list的方法
  2. 为什么要开发抽象编程语言(APL)?
  3. 撰写第三周课程总结及实验报告(一)
  4. boost::hana::reverse_partial用法的测试程序
  5. IE Mobie6清除浮动
  6. python字典遍历 没有顺序_Python中字典的顺序问题(为什么实践发现字典的遍历和方法popitem并不是随机的?)...
  7. ORACLE 添加和查看注释
  8. win7/win8/win8.1 telnet命令无法使用的解决方案(提示不是内部命令或外部命令)
  9. 杭电1422 重温世界杯
  10. 狐假虎威的故事,狐假虎威的故事告诉我们什么道理?
  11. 对称 symmetric
  12. Atitit 在线支付系统功能设计原理与解决方案 与目录
  13. 《数学建模与数学实验》第5版 统计分析 习题9.7
  14. 2012服务器系统密钥,WINDOWS SERVER 2012标准版密钥
  15. 记账系统推荐金蝶精斗云_小编总结了金蝶精斗云财务软件的优劣势
  16. win7 thinkpad 屏幕旋转 快捷键 与 eclipse冲突
  17. 老板必看:1.初创业团队没有激情,咋办? 2.小股东的选择
  18. iOS之Swift实现二维码扫描
  19. linux . 乱码,解决Linux乱码现象
  20. 腾讯云服务器安装MySQL并设置远程登录

热门文章

  1. 别以为真懂Openstack: 虚拟机创建的50个步骤和100个知识点(2)
  2. hihoCoder 网络流四·最小路径覆盖
  3. Android更新带进度条的通知栏
  4. 【SICP练习】111 练习3.24
  5. 用户一亿的网易新闻客户端质量如何?
  6. 做生意的六大秘诀和十要诀
  7. python requests 爬取数据
  8. UITests操作指南
  9. Maven 的41种骨架功能介绍
  10. IBM整合管理服务:云时代驱动IT服务创新