Http认证根据实现方式分为BASIC认证、NTLM认证、DIGEST认证等,这边文章以最简单的BASIC认证为例,描述一下Apache服务器下如何配置BASIC认证!
基本涉及的文件,apache自身的配置文件httpd.conf ,需要手动创建的文件,.htaccess、.htpasswd(名字不固定).
1、配置httpd.conf
<Directory "/usr/local/apache2/htdocs">
.......
Options Indexes FollowSymLinks
Options none //
AllowOverride AuthConfig // 启用验证配置
Order allow,deny //
Allow from all //
.......
Require all granted
</Directory>
2、使用apache下的bin目录下提供的htpasswd命令创建.htpasswd文件
$: htpasswd -cm 文件的路径/.htpasswd 认证账户名
譬如:
[root@www bin]# ./htpasswd -cm ./.htpassword XXX
New password: ***
Re-type new password: ***
Adding password for user XXX
3、在需要验证的文件所在目录下创建.htaccess文件,并加入如下内容
AuthName "Hello" //验证提示信息
AuthType Basic //验证类型 basic
AuthUserFile /etc/httpd/conf/.htpasswd //验证密码文件
require valid-user //验证用户是所有有效用户
备注: 验证文件.htpassswd一般以ht开头,apache服务器一般禁止外部访问这种名字格式的文件
安全性高一些.