apache用户认证
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache用户认证相关的知识,希望对你有一定的参考价值。
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
//把123.com那个虚拟主机编辑成如下内容,第一个是默认主机,我们修改的是第二个
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/111.com"
ServerName 111.com
ServerAlias www.111.com
<Directory /data/wwwroot/111.com> //指定认证的目录
AllowOverride AuthConfig //这个相当于打开认证的开关
AuthName "111.com user auth" //自定义认证的名字,作用不大
AuthType Basic //认证的类型,一般为Basic,其他类型没用过
AuthUserFile /data/.htpasswd //指定密码文件所在位置
require valid-user //指定需要认证的用户为全部可用用户
</Directory>
ErrorLog "logs/111.com-error_log"
CustomLog "logs/111.com-access_log" common
</VirtualHost>
/usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd apache
//创建并指定密码文件所在位置并增加用户名apache -m是指密码MD5加密 之后创建用户不需要加-c,因为第一次已创建文件/usr/local/apache2.4/bin/apachectl –t
//测试语法/usr/local/apache2.4/bin/apachectl graceful
//重新加载配置文件,不会重启服务
绑定Windows的hosts,浏览器测试
curl -x127.0.0.1:80 www.111.com
//状态码为401(401是指需要用户密码验证)curl -x127.0.0.1:80 -uapache:111111 www.111.com
//状态码为200(200为正常) -u后面的:跟密码
用户认证根据单个文件
还可以针对单个文件进行认证
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/111.com"
ServerName 111.com
<FilesMatch admin.php> //admin.php就是单个文件的文件名
AllowOverride AuthConfig
AuthName "111.com user auth"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</FilesMatch>
</VirtualHost>
以上是关于apache用户认证的主要内容,如果未能解决你的问题,请参考以下文章
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段