10.1 概述
您也许碰到过这样的情况,当您访问某个网站的时候,会收到403状态号,意思是禁止您查看请求的页面:
或者收到401状态号,表示对该页面的访问需要提供帐号、密码:
实现上述两个功能,就需要设置Apache的存取控制指令。
存取控制可以让网站管理员对某些资源的受众进行控制,比如给某些人看,不给某些人看,或者需要提供密码才能查看等等。
Apache的存取控制是通过对配置文件access.conf的修改完成的。对存取控制的实际操作是通过源文件http_access.c和http_auth.c来实现的。
下面我们来配置access.conf文件来达到上面提到的两个功能。
10.2 存取控制设置
在本节中我们通过配置Apache的access.conf文件来实现10.1节中提到的两个功能。其中第一小节讲解怎么设置这两种状态,第二小节对Apache所有有关存取控制的设置指令进行详细说明。
10.2.1 限制访问和认证访问
限制访问
简单的做法是让Apache拒绝所有的客户端访问。打开配置文件access.conf,找到<Limit GET>行,内容如下:
<Limit GET>
order allow,deny
allow from all
</Limit>
把其中的allow from all修改成deny from all。保存文件,重启Apache,通过浏览器访问您的站点首页,不出意外的话,您的浏览器应该会收到403状态号,即禁止访问。
禁止访问一般是禁止某些人的访问,在实际应用中,不会禁止所有人的访问,这样的站点是没有意义的,如果要禁止某些人的访问,可以参考10.2.2小节中的介绍。在这里我们仅仅重现10.1中实现的效果。
认证访问
首先还是修改access.conf文件中的<Limit GET>部分,修改后的内容类似于:
<Limit GET>
order allow,deny
allow from all
require valid-user
</Limit>
仅仅这样做是不够的。还需要创建认证文件和密码文件,认证文件中确定认证的方式、密码文件的位置、认证的提示语等内容;密码文件由Apache提供的工具创建,放在认证文件中指定的位置。
认