Linux-LAMP- Apache用户认证
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-LAMP- Apache用户认证相关的知识,希望对你有一定的参考价值。
打开网站,需要输入用户名和密码。和其他的用户名和密码不一样,浏览器打开网站,界面什么都没有,输入用户名和密码之后,才能访问网页,目的增加安全性,但是用户体验不好
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>
以上是关于Linux-LAMP- Apache用户认证的主要内容,如果未能解决你的问题,请参考以下文章