介绍
用户认证用来对某些目录中的网页进行访问控制,当用户访问这些页面的时候需要输入用户名和密码进行认证。
配置
-
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
-
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot “/usr/local/apache2.4/docs/abc.com”
ServerName abc.com
ServerAlias www.abc.com aaa.com
<Directory /usr/local/apache2.4/docs/abc.com>
AllowOverride AuthConfig
AuthName “abc.com user auth”
AuthType Basic
AuthUserFile /usr/local/apache2.4/docs/.htpasswd
require valid-user
ErrorLog “logs/abc.com-error_log”
CustomLog “logs/abc.com-access_log” common
-
其中
< Directory >
// 指定认证的目录
AllowOverride AuthConfig
// 这个相当于打开认证的开关
AuthName “testdomain.com user auth”
//自定义认证的名字,作用不大
AuthType Basic
//认证的类型,一般为Basic
AuthUserFile /data/.htpasswd
//指定密码文件所在位置
require valid-user
// 指定需要认证的用户为全部可用用户 -
#/usr/local/apache2.4/bin/apachectl -t
Syntax OK
#/usr/local/apache2.4/bin/apachectl graceful
#/usr/local/apache2.4/bin/htpasswd -cm /usr/local/apache2.4/docs/.htpasswd jzm -
//htpasswd为创建用户的工具,-c为create
//-m为指定密码加密的方式为MD5
.htpasswd为密码文件
jzm为创建的用户
//第二次不用加,否则密码文件会重置 -
#curl -xlocalhost:80 -u jzm:000000 abc.com -I
配置验证
配置完可在Windows上访问地址www.abc.com,文件在C:\Windows\System32\drivers\etc\hosts。打开文件在最后一行输入:
-
#你的虚拟机IP www.abc.com
-
接下来,关闭防火墙,设置selinux为Permissive(宽容模式,不会实际限制 domain/type 的存取)
-
# systemctl stop firewalld
-
#setenforce 0
然后,去浏览器访问www.abc.com会有弹窗出现。