博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LAMP架构七( Apache用户认证)
阅读量:2046 次
发布时间:2019-04-28

本文共 1511 字,大约阅读时间需要 5 分钟。

七、用户认证

用户认证功能就是在用户访问网站的时候,需要输入用户名密码才能进行访问。

实例:下面对a.com站点来做一个全站的用户认证:

步骤1:编辑虚拟主机配置文件

[root@global ~]# vim /etc/httpd/conf.d/virtual.conf   //在a.com虚拟主机下编辑添加以下内容,注意空格,最好手敲。

<VirtualHost 172.24.10.59:8090>

DocumentRoot "/var/www/html/a"
ServerName a.com
<Directory  /var/www/html/a>   //指定认证的目录    
 AllowOverride AuthConfig             //这个相当于打开认证的开关
 AuthName "linuxtest.com user auth"       //自定义认证的名字,作用不大
 AuthType Basic                            //认证的类型,一般为Basic
 AuthUserFile /tmp/.htpasswd      //指定密码文件所在位置
 require valid-user                        //指定需要认证的用户为全部可用用户
 </Directory>

ErrorLog "logs/a.com-error_log"

CustomLog "logs/a.com-access_log" common
</VirtualHost>

步骤2:创建密码

在创建密码文件先要了解htpasswd命令:

htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。

语法:

htpasswd [选项] [参数]
选项:

-c:=create,创建一个加密文件

-n:不更新加密文件,只将更新后的用户名密码显示在屏幕上
-m:使用MD5算法对密码进行加密(默认)
-d:使用CRYPT算法对密码进行加密
-p:不对密码进行加密,即明文密码
-s:使用SHA算法对密码进行加密
-b:在命令行一并输入用户名和密码,而不是根据提示输入密码
-D:删除指定用户

下面创建密码文件:

[root@global ~]# /usr/bin/htpasswd -cm /tmp/.htpasswd global  // -c 表示创建  -m 指定MD5加密 指定所在位置  如果再次增加用户可以不用-c选项,-c是首次创建文件使用的,,否则/data/.htpasswd会被重置,之前用户被清空

New password: 
Re-type new password: 
Adding password for user global
[root@zlinux ~]# httpd -t
Syntax OK
[root@zlinux ~]# /usr/sbin/apachectl  graceful

步骤3:测试用户认证是否启用

在浏览器中测试,需要修改下windows下hosts文件,把域名指向Linux机器:

输入账号密码后,始终报下图的错误,通过抓取日志,发下了错误日志,但是没有解决,希望高手指点下!!!

使用curl进行测试:

[root@global conf.d]# curl -x172.24.10.59:8090 a.com -I    

HTTP/1.1 401 Unauthorized          //说明:因为生成了密码,所以在不指定用户名和密码的情况下会报401错误

[root@global conf.d]# curl -x 172.24.10.59:8090  -u global:123456  a.com -I     //使用-u指定用户名和密码

 

转载地址:http://nclof.baihongyu.com/

你可能感兴趣的文章
Leetcode C++ 剑指 Offer 09. 用两个栈实现队列
查看>>
Leetcode C++《每日一题》20200707 112. 路径总和
查看>>
Leetcode C++ 《第198场周赛-2》 1519. 子树中标签相同的节点数
查看>>
Leetcode C++ 《第199场周赛》
查看>>
Leetcode C++ 《第200场周赛》
查看>>
Leetcode C++ 《第201场周赛》
查看>>
云原生 第十章 应用存储和持久化数据卷:存储快照和拓扑调度
查看>>
云原生 第十一章 应用健康
查看>>
Leetcode C++ 《第202场周赛》
查看>>
云原生 第十二章 可观测性:监控与日志
查看>>
Leetcode C++ 《第203场周赛》
查看>>
云原生 第十三章 Kubernetes网络概念及策略控制
查看>>
《redis设计与实现》 第一部分:数据结构与对象 || 读书笔记
查看>>
《redis设计与实现》 第二部分(第9-11章):单机数据库的实现
查看>>
Leetcode C++《热题 Hot 100-70》23.合并K个升序链表
查看>>
《redis设计与实现》第二部分 (第12章:事件)
查看>>
《redis设计与实现》第二部分 (第13章 客户端)
查看>>
《redis设计与实现》第二部分 (第14章 服务器)
查看>>
《redis设计与实现》第四部分 (第18章 发布与订阅)
查看>>
《redis设计与实现》第四部分 (第19章 事务)
查看>>