Apache用户认证

用户认证用途:当一个网站被访问是需要输入用户名和密码才能进入,而不是直接进入登录页面。
认证形式:针对整个网站目录进行认证
针对单个访问文件进行认证

针对网站目录认证

[root@zhounan ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

    DocumentRoot "/data/www/phpems.com"
    ServerName phpems.com
    ServerAlias www.phpems.com www.zhounan.com
    
        AllowOverride AuthConfig
        AuthName "phpems.com"
        AuthType Basic
        AuthUserFile /data/.htpasswd
        require valid-user
    
    ErrorLog "logs/phpems.com-error_log"
    CustomLog "logs/phpems.com-access_log" common

Apache用户认证_第1张图片
添加图中红线框上的部分并修改对应信息,#号后注释需要删除

  • 创建认证用户
[root@zhounan ~]# /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd zhounan  #创建zhounan用户
New password: 
Re-type new password: 
Adding password for user zhounan
[root@zhounan ~]# cat /data/.htpasswd  #查看生成的文件
zhounan:$apr1$T6itqtdh$okQC304a/FpB3nQN6tMTp.

-c 创建密码文件
-m 密码加密类型md5加密
在首次配置是需要使用-c,后面再次创建账户是不用使用-c选项

  • 检查并加载配置文件
[root@zhounan ~]# /usr/local/apache2.4/bin/apachectl -t
[root@zhounan ~]# /usr/local/apache2.4/bin/apachectl graceful
  • 登录检查是否正常
    Apache用户认证_第2张图片
    提示401状态码,401状态码代表需要用户认证。也可以使用-I(大写i)查看状态
    Apache用户认证_第3张图片

  • 登录成功
    -uzhounan:123456 -u 指定用户 用户名zhounan 密码123456
    200 ok证明登录成功
    Apache用户认证_第4张图片
    在这里插入图片描述
    windows登录
    Apache用户认证_第5张图片
    输入用户名和密码后登录成功
    Apache用户认证_第6张图片

针对访问文件进行认证

  • 修改虚拟主机配置文件
    [root@zhounan1 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
    指定被需要加密访问的文件为amdin.phpApache用户认证_第7张图片

  • 增加被加密配置文件检查并且刷新配置文件

[root@zhounan1 ~]# vim /data/www/phpems.com/admin.php
#######增加如下行#######
  • 检查是否正确
    此时访问www.zhounan.com正常,但是访问到admin.php时失败,状态码401
    Apache用户认证_第8张图片
    加上认证用户进行登录后登录正常
    Apache用户认证_第9张图片

你可能感兴趣的:(Linux)