标签:其他 host 指定 md5加密 vpd 密码文件 认证 over 没有
打开网站,需要输入用户名和密码。和其他的用户名和密码不一样,浏览器打开网站,界面什么都没有,输入用户名和密码之后,才能访问网页,目的增加安全性,但是用户体验不好vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那个虚拟主机编辑成如下内容
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
<Directory /data/wwwroot/www.123.com> //指定认证的目录,针对那个目录去做用户认证
AllowOverride AuthConfig //这个相当于打开认证的开关,如果没有代表没有开启认证
AuthName "123.com user auth" //自定义认证的名字,作用不大
AuthType Basic //认证的类型,一般为Basic,其他类型没用过
AuthUserFile /data/.htpasswd //指定密码文件所在位置
require valid-user //指定需要认证的用户为全部可用用户,用户名密码文件里面,所定义的用户
</Directory>
</VirtualHost>
/usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd aming #生成用户名密码。-c创建,-m,md5加密,指定密码文件所在位置,
当第二次创建时,不需要-c,因为第一次已经创建了
重新加载配置-t , graceful
绑定hosts,浏览器测试
curl -x127.0.0.1:80 www.123.com //状态码为401,401访问需要做用户验证
注释: -u用户名:密码
curl -x127.0.0.1:80 -uaming:passwd www.123.com //状态码为200
还可以针对单个文件进行认证
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
<FilesMatch admin.php> #当访问的文件,访问admin.php时,才需要进行下面的操作
AllowOverride AuthConfig
AuthName "123.com user auth"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</FilesMatch>
</VirtualHost>
标签:其他 host 指定 md5加密 vpd 密码文件 认证 over 没有
原文地址:http://blog.51cto.com/13451715/2318166