除了Apache支持LDAP和Mysql等认证机制,他本身就带一个简单的基本身份认证机制,对于有些时候还是十分的便利,例如笔者所在公司的squid日志通过sarg软件分析,但sarg本身没有提供身份认证机制(由于本人对sarg研究不够深入,至少目前还没有找到),任何人打开代理服务器的网址即可看到流量,这时结合apache自带的基本身份认证即相当方便。
在配置时,我是参考鸟哥的书配置的(鸟哥的文字总是让偶等新手容易读懂,在此谢过),在此复述一遍,仅作为自己加深印象;本文所测试的环境是centos 5.0
1.必须先在/etc/http/conf/httpd.conf文件中确定以下几行存在并生效(没有注释掉)
AccessFileName .htaccess
Order allow,deny Deny from all
2.建立需要提供认证的目录,在此即以默认目录为例:/var/www/html
在/etc/http/conf/httpd.conf文件中不受影响的位置添加以下这段文字:
AllowOverride AuthConfig Order allow,deny Allow from all
3.保存以上配置,重启apahce
4.在/var/www/html目录下建立.htaccess文件,注意,该文件必须在需要受保护的目录下,并编辑.htaccess文件,输入以下内容:
AuthName "test auth" #在出现输入帐号与密码的对话框中,出现的提示字符 Authtype Basic #认证类型 AuthUserFile /var/www/apache.passwd #保护目录所使用的帐号密码的设置文件,可以随意设置此文件,注意,此文件不要放置在apache可浏览的目录内,以免被窃取;
require valid-user #后面接可以使用的帐号,若只想设置一个帐号认证用,则在require user 后面直接接用户名,此处的例子是适用于多个用户名;
设置完毕后,不必重启apache
5. 建立密码文件httpasswd
#htpasswd -c /var/www/apache.passwd test
New password: 输入密码 Re-type new password: 再输入一次密码 Adding password for user test 用户及密码建立成功
#cat /var/www/apache.passwd test:2BmnOLhfOOrC6
需要注意的是,这个文件名需要与“.htaccess”内的AuthUserFile相同,在地址栏输入:http://your.hostname即出现提示框:
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15453509/viewspace-508016/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15453509/viewspace-508016/