Apache 的 order deny allow 设置说明_Linux

所以,最常用的是:
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语句时),如果没有则按照语义分析。

时间: 2024-09-20 14:20:19

Apache 的 order deny allow 设置说明_Linux的相关文章

Apache中的Order Allow,Deny用法详解_Linux

本文讲述了Apache中的Order Allow,Deny用法.分享给大家供大家参考,具体如下: Allow和Deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等),用来控制目录和文件的访问授权. 所以,最常用的是: Order Deny,Allow Allow from All 注意"Deny,Allow"中间只有一个逗号,也只能有一个逗号,有空格都会出错:单词的大小写不限.上面设定的含义是先设定"

Apache配置参数deny和allow的使用实例_Linux

由于产品的需要,最近在配置apache的负载均衡功能,但是在配置虚拟主机的访问权限的时候我们遇到了一些问题.主要问题是deny和allow的执行顺序,抽时间研究了下这两个参数的使用,现把deny和allow的使用情况总结如下. 一.使用情况总结 我们来看下下面的apache的一个配置,具体代码如下: 复制代码 代码如下: <Directory />     Order allow,deny  #1     Allow from all #2     deny from 192.9.200.69

apache中Order Allow Deny详解

Order A, B (其中,A和B均可以代表allow或者deny,以下conlist表示控制列表) A from conlist1 B from conlist2 那么最终访问控制的结果为:(以(A)表示A的控制范围,) (A)= (conlist1) U (!conlist2) (!--取反,U--并集,n--交集) (B)= (!A) = (!conlist1) n (conlist2) (A) (B)= I(全集) 下面有一个图简单表示了allow与deny的范围关系 最常用的是:  

正确配置与维护Apache安全性设置方法_Linux

一,Apache服务器的介绍 Apache服务器它是Internet网上应用最为广泛的Web服务器软件之一.Apache服务器源自美国国家超级技术计算应用中心(NCSA)的 Web服务器项目中.目前已在互联网中占据了领导地位.Apache服务器得经过精心配置之后,才能使它适应高负荷,大吞吐量的互联网工作.快速.可靠.通过简单的API扩展,Perl/Python解释器可被编译到服务器中,且完全免费,完全源代码开放.如果你需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳选择. 二

Apache配置文件中的deny与allow小结_Linux

今天在公司配置Zend本地Apache环境的时候,发现在zend.conf中的权限控制中的几段句子,如下所示: 复制代码 代码如下: <Location /server-status>      SetHandler server-status       Order deny,allow       Deny from all       Allow from 127.0.0.1   </Location> 自己在配置虚拟主机的时候需要配置VirtualHost, 复制代码 代码

Apache配置参数deny和allow的使用实例

  这篇文章主要介绍了Apache配置参数deny和allow的使用实例,需要的朋友可以参考下 由于产品的需要,最近在配置apache的负载均衡功能,但是在配置虚拟主机的访问权限的时候我们遇到了一些问题.主要问题是deny和allow的执行顺序,抽时间研究了下这两个参数的使用,现把deny和allow的使用情况总结如下. 一.使用情况总结 我们来看下下面的apache的一个配置,具体代码如下: 代码如下: Order allow,deny #1 Allow from all #2 deny fr

apache下.htaccess的功能及写法_Linux

- .htaccess 文件(或者"分布式配置文件"提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录.作为用户,所能使用的命令受到限制.管理员可以通过Apache的AllowOverride指令来设置. - 子目录中的指令会覆盖更高级目录或者主服务器配置文件中的指令. - .htaccess必须以ASCII模式上传,最好将其权限设置为644. 错误文档的定位 常用的客户端请求错误返回代码: 401 Authori

Apache 的 httpd.conf 中文详解_Linux

ServerRoot "/usr/local" ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下. ScoreBoardFile /var/run/httpd.scoreboard httpd使用ScoreBoardFile来维护进程的内部数据,因此通常不需要改变这个参数,除非管理员想在一台计算机上运行几个 Apac

正确维护配置Apache服务器的方法 保护系统安全_Linux

Apache服务器快速.可靠.可通过简单的API扩展,其Perl/Python解释器可被编译到服务器中,并且完全免费,完全开放源代码.如果需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳的选择. Apache是目前最流行的Web服务器端软件之一,它可以运行在几乎所有被广泛使用的计算机平台上.Apache服务器快速.可靠.可通过简单的API扩展,其Perl/Python解释器可被编译到服务器中,并且完全免费,完全开放源代码.如果需要创建一个每天有数百万人访问的Web服务器,Ap