Apache 的 order deny allow 设置说明

 更新时间:2010年12月17日 10:32:54   作者:  
Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权。
所以,最常用的是:
Order Deny,Allow
Allow from All

注意“Deny,Allow”中间只有一个逗号,也只能有一个逗号,有空格都会出错;单词的大小写不限。

上面设定的含义是先设定“先检查禁止设定,没有禁止的全部允许”,而第二句没有Deny,也就是没有禁止访问的设定,直接就是允许所有访问了。这个主要是用来确保或者覆盖上级目录的设置,开放所有内容的访问权。

按照上面的解释,下面的设定是无条件禁止访问:
Order Allow,Deny
Deny from All

如果要禁止部分内容的访问,其他的全部开放:
Order Deny,Allow
Deny from ip1 ip2
或者
Order Allow,Deny
Allow from all
Deny from ip1 ip2

apache会按照order决定最后使用哪一条规则,比如上面的第二种方式,虽然第二句allow允许了访问,但由于在order中allow 不是最后规则,因此还需要看有没有deny规则,于是到了第三句,符合ip1和ip2的访问就被禁止了。注意,order决定的“最后”规则非常重要,下面是两个错误的例子和改正方式:

Order Deny,Allow
Allow from all
Deny from domain.org
错误:想禁止来自domain.org的访问,但是deny不是最后规则,apache在处理到第二句allow的时候就已经匹配成功,根本就不会去看第三句。
解决方法:Order Allow,Deny,后面两句不动,即可。

Order Allow,Deny
Allow from ip1
Deny from all
错误:想只允许来自ip1的访问,但是,虽然第二句中设定了allow规则,由于order中deny在后,所以会以第三句deny为准,而第三句的范围中又明显包含了ip1(all include ip1),所以所有的访问都被禁止了。
解决方法一:直接去掉第三句。
解决方法二:
Order Deny,Allow
Deny from all
Allow from ip1

总结:Order Deny,Allow中,后一个是一定会被执行的(有相应的allow或deny语句时),如果没有则按照语义分析。

相关文章

  • 2018即将推出的Apache Spark 2.4都有哪些新功能

    2018即将推出的Apache Spark 2.4都有哪些新功能

    即将发布的 Apache Spark 2.4 版本是 2.x 系列的第五个版本。 本文对Apache Spark 2.4 的主要功能和增强功能进行了概述,需要的朋友可以参考下
    2018-09-09
  • ubuntu系统theano和keras的安装方法

    ubuntu系统theano和keras的安装方法

    这篇文章主要介绍了ubuntu系统theano和keras的安装方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Linux查看服务器硬件信息的方法步骤

    Linux查看服务器硬件信息的方法步骤

    这篇文章主要介绍了Linux查看服务器硬件信息的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • cloudera manager 设置开机自启的方法

    cloudera manager 设置开机自启的方法

    下面小编就为大家带来一篇cloudera manager 设置开机自启的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 深入浅析Linux轻量级自动运维工具-Ansible

    深入浅析Linux轻量级自动运维工具-Ansible

    这篇文章主要介绍了Linux轻量级自动运维工具-Ansible的相关知识,需要的朋友可以参考下
    2017-09-09
  • CentOS+Nginx+PHP+MySQL标准生产环境配置方法

    CentOS+Nginx+PHP+MySQL标准生产环境配置方法

    这个可比网上流传的什么一键安装包要好得多,强烈推荐此法安装,适合所有菜鸟和高手。我服务器上全用的源代码编译安装,也好不到哪去,还很费劲。我这个装完已经包含 php 的一些常用扩展, PDO,eaccelerator,memcache,tidy等等。
    2010-02-02
  • CentOS服务器环境下MySQL主从同步配置方法

    CentOS服务器环境下MySQL主从同步配置方法

    这篇文章主要介绍了CentOS服务器环境下MySQL主从同步配置方法,较为详细的分析了CentOS服务器环境下MySQL主从同步的配置操作步骤、相关命令、使用方法与注意事项,需要的朋友可以参考下
    2018-03-03
  • Linux 解决Deepin无法在root用户启动Google Chrome浏览器的问题

    Linux 解决Deepin无法在root用户启动Google Chrome浏览器的问题

    这篇文章主要介绍了Linux 解决Deepin无法在root用户启动Google Chrome浏览器的问题,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • linux URL的301重定向代码分析

    linux URL的301重定向代码分析

    301重定向已经过很多次了,它可以将网站的主域名和二级域名规范到一个url上,使网页在搜索引擎里只能通过唯一的一个地址可以访问到,以免因重复内容造成降权。
    2008-09-09
  • Apache RewriteBase 指令使用介绍

    Apache RewriteBase 指令使用介绍

    RewriteBase指令显式地设置了目录级重写的基准URL。在下文中,你将看到RewriteRule可以用于目录级的配置文件中(.htaccess)并在局部范围内起作用,即规则实际处理的只是剥离了本地路径前缀的一部分
    2016-04-04

最新评论