首先设置下站点配置文件
# vi /usr/local/httpd/conf/extra/httpd-vhosts.conf //把www.ahao1.com那个虚拟主机编辑成如下内容
<VirtualHost *:80> DocumentRoot "/data/wwwroot/ahao1.com" ServerName www.ahao1.com #指定认证的目录 <Directory /data/wwwroot/ahao1.com> #这个相当于打开认证的开关 AllowOverride AuthConfig #自定义认证的名字,作用不大 AuthName "ahaocom user auth" #认证的类型,一般为Basic AuthType Basic #指定密码文件所在位置 AuthUserFile /data/.htpasswd #指定需要认证的用户为全部可用用户 require valid-user </Directory> </VirtualHost>
# /usr/local/httpd/bin/apachectl graceful 重新加载apache服务
-c 创建密码库文件,-m md5加密
[root@localhost extra]# /usr/local/httpd/bin/htpasswd -cm /data/.htpasswd ahao

测试
# curl -x127.0.0.1:80 www.ahao1.com

浏览器访问效果

curl如何访问这种呢?
# curl -I -x127.0.0.1:80 -uahao:ahao www.ahao1.com/1.php

以针对单个文件进行认证
<VirtualHost *:80> DocumentRoot "/data/wwwroot/ahao1.com" ServerName www.ahao1.com <FilesMatch admin.php> AllowOverride AuthConfig AuthName "ahao1.com user auth" AuthType Basic AuthUserFile /data/.htpasswd require valid-user </FilesMatch> </VirtualHost>

