Apache常用配置

本文介绍了Apache的常用配置,包括隐藏版本信息、禁止访问特定目录和文件类型,以及Options、AllowOverride和Order等指令的详细说明。这些配置有助于增强服务器的安全性和控制权限。对于Apache2.4,重点介绍了Require指令在客户端访问控制中的应用。

Apache常用配置

1.隐藏Apache版本信息

vim /etc/httpd/conf/httpd.conf
ServerTokens OS //修改为 ServerTokens ProductOnly
ServerSignature On //修改为 ServerSignature Off
apachectl restart

2. 禁止访问网站目录

vim /etc/httpd/conf/httpd.conf
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
//改为
<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
//其实就是将Indexes去掉,Indexes表示若当前目录没有index.html就会显示目录结构。

通过增加Files选项来控制,比如不允许访问 .inc 扩展名的文件,保护php类库:

<Files ~ ".inc$">
Order allow,deny
Deny from all
</Files>

再比如禁止访问图片

<FilesMatch .(?i:gif|jpeg|png)$>
     Order allow,deny
     Deny from all
</FilesMatch>

禁止访问/var/www目录下的满足该正则的目录

<Directory ~ "^/var/www/(.+/)*[0-9]{3}">
     Order allow,deny
     Deny from all
</Directory>

目录详解

<Directory> </Directory>

一起用于封装一组指令,使之仅对某个目录及其子目录生效。该指令不能被嵌套使用,也不能出现在<Limit>或<LimitExcept>配置段中。

 配置示例:
   <Directory “D:/wamp/www”>
     Options  Indexes  FollowSymLinks  MultiViews  Includes  IncludesNOEXEC  ExecCGI
     AllowOverride  None
     Order  allow, deny
     allow  from  all
   </Directory>

指令及其参数说明:
(1)Options:控制在特定目录中将使用哪些服务器特性。

  • Indexs:若访问目录下无index文件,则准许显示该目录下的文件列表以供选择。
  • FollowSymLinks:准许在目录中使用符号链接到其他目录。
  • MultiViews:准许内容协商的“多重视图”。如果客户端请求的路径可能对应多种类型的文件,服务器将根据客户端请求的具体情况自动选择一个最匹配客户端要求的文件。例如只在地址栏输入index也可以访问到index.php页面。
  • Includes:准许SSI。
  • IncludesNOEXEC:准许SSI,但不可使用exec和include功能。
  • ExecCGI:准许在该目录下使用CGI。
  • All:表示除了MultiViews之外的所有特性。
  • None:表示不启用任何的服务器特性。

注意:如果一个目录被多次设置了options,则最特殊的一个会被完全接受。

(2)AllowOverrid:是否准许文件“.htaccess”中设定的权限覆盖“access.conf”文件中设定的权限。

  • All:准许覆盖。
  • None:不准许覆盖。
  • AuthConfig:允许使用与认证授权相关的指令。
  • FileInfo:允许使用控制文档类型的指令、控制文档元数据的指令、mod_rewrite中的指令、mod_actions中的Action指令。
  • Indexs:允许使用控制目录索引的指令。
  • Limit:允许使用控制主机访问的指令。

(3)Order:控制默认的访问状态和allow、deny指令生效的顺序。

  • allow:允许访问。
  • deny:拒绝访问。
    这两个参数由最后一个出现的参数决定,如“Order allow,deny”默认拒绝了所有的意思(中间有且只有一个逗号),但最终的判断结果还要总下面的allow、deny语句中各自所包含的范围(如果有的话),这两个语句后面都一定接着“from”,否则Apache会无法启动。“Order allow,deny”表示先判断allow语句再判断deny语句。
    注意:上面的Order和allow、deny语句是针对Apache2.2的配置,Apache2.4的客户端访问控制由Require语句来配置。
//区别示例:
  //拒绝所有请求:
  //2.2配置:
  Order  deny,allow
  deny  from all
  //2.4配置:
  Require  all  denied

  //允许所有请求:
  //2.2配置:
  Order  allow,deny
  allow  from all
  //2.4配置:
  Require  all  granted

  //只允许某个特定IP的访问:
  //2.2配置:
  Order  deny,allow
  deny  from  all
  allow  IP-address
  //2.4配置
  Require  host  IP-addres

注意:上述内容来自个人开发经验总结并部分引述总结了其它博主的内容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值