文档章节

1.8 httpd的用户认证

脑洞老湿_
 脑洞老湿_
发布于 2018/02/23 13:59
字数 705
阅读 13
收藏 0

1.8 httpd的用户认证

  • vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把111.com那个虚拟主机添加如下内容:

  <VirtualHost *:80>
   DocumentRoot "/data/wwwroot/111.com"
   ServerName 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>
  </VirtualHost>

  • /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd aming //创建密码文件
  • 重新加载配置-t , graceful
  • 绑定hosts,浏览器测试
  • curl -x127.0.0.1:80 www.111.com //状态码为401
  • curl -x127.0.0.1:80 -uaming:passwd www.111.com //状态码为200
[root@Dasoncheng ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
……
<VirtualHost *:80>
#   ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/data/wwwroot/abc.com"
    ServerName abc.com
    ServerAlias www.abc.com 123.com
    ErrorLog "logs/abc.com-error_log"
    CustomLog "logs/abc.com-access_log" common
</VirtualHost>

<VirtualHost *:80>
#   ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/data/wwwroot/111.com"
    ServerName www.111.com
    ServerAlias 111.com
    <Directory /data/wwwroot/111.com>
        AllowOverride AuthConfig
        AuthName "111.com user auth"
        AuthType Basic
        AuthUserFile /data/.htpasswd
        require valid-user
    </Directory>
    ErrorLog "logs/111.com-error_log"
    CustomLog "logs/111.com-access_log" common
</VirtualHost>
[root@Dasoncheng ~]# /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd zhangsan
New password: 
Re-type new password: 
Adding password for user zhangsan
[root@Dasoncheng ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@Dasoncheng ~]# /usr/local/apache2.4/bin/apachectl graceful

测试访问:

[root@Dasoncheng ~]# curl -x192.168.60.11:80 111.com 
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Unauthorized</title>
</head><body>
<h1>Unauthorized</h1>
<p>This server could not verify that you
are authorized to access the document
requested.  Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>
[root@Dasoncheng ~]# curl -x192.168.60.11:80 111.com -I
HTTP/1.1 401 Unauthorized    ##遇到的第一个提示符401,需要验证账号;
Date: Fri, 23 Feb 2018 06:31:34 GMT
Server: Apache/2.4.27 (Unix) PHP/5.6.30
WWW-Authenticate: Basic realm="111.com user auth"
Content-Type: text/html; charset=iso-8859-1
[root@Dasoncheng ~]# curl -x192.168.60.11:80 111.com -uzhangsan:p@ssw0rd
111.com
[root@Dasoncheng ~]#

mark

1.8.2 针对单个页面进行验证:

<VirtualHost *:80>
 DocumentRoot "/data/wwwroot/111.com"
 ServerName www.111.com
 <FilesMatch admin.php>
  AllowOverride AuthConfig
  AuthName "111.com user auth"
  AuthType Basic
  AuthUserFile /data/.htpasswd
  require valid-user
 </FilesMatch>
</VirtualHost>

[root@Dasoncheng ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
#   ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/data/wwwroot/111.com"
    ServerName www.111.com
    ServerAlias 111.com
#    <Directory /data/wwwroot/111.com>
    <FilesMatch admin.php>
        AllowOverride AuthConfig
        AuthName "Please pass the auth for this page"
        AuthType Basic
        AuthUserFile /data/.htpasswd
        require valid-user
    </FilesMatch>
#    </Directory>
    ErrorLog "logs/111.com-error_log"
    CustomLog "logs/111.com-access_log" common
</VirtualHost>
[root@Dasoncheng ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@Dasoncheng ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@Dasoncheng ~]# vim /data/wwwroot/111.com/admin.php
[root@Dasoncheng ~]# cat /data/wwwroot/111.com/admin.php
<?php
echo "Welcome to the page of admin\n"
?>

测试访问admin页面:

[root@Dasoncheng ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.60.11 www.abc.com www.111.com
[root@Dasoncheng ~]# curl www.111.com
111.com
[root@Dasoncheng ~]# curl www.111.com/admin.php
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>401 Unauthorized</title>
</head><body>
<h1>Unauthorized</h1>
<p>This server could not verify that you
are authorized to access the document
requested.  Either you supplied the wrong
credentials (e.g., bad password), or your
browser doesn't understand how to supply
the credentials required.</p>
</body></html>
[root@Dasoncheng ~]# curl www.111.com/admin.php -uzhangsan:p@ssw0rd
Welcome to the page of admin

mark

© 著作权归作者所有

脑洞老湿_
粉丝 3
博文 152
码字总数 124412
作品 0
荆州
私信 提问
CentOS7 源码安装svn1.9.5及httpd配置(ldap验证/ad域验证)

环境:CentOS-7-x86_64-1611 + subversion-1.9.5 一、源码安装: 1、安装ldap: 2、安装APR: 3、安装APR-util: 4、安装pcre: 5、安装apache: 开启防火墙80 端口: 将httpd加入服务: 6、安...

魔力小小鸟
2017/02/07
0
0
配置Apacha Basic认证

1、简介 对经常上网的用户有时会遇到这种情况:当访问一些网站的某些资源时,浏览器弹出一个对话框,要求输入用户名和密码才能获取资源的访问。实际上,这是用户认证的一种技术。用户认证是保...

优果馥思
2018/07/02
0
0
访问控制与虚拟主机

基于用户的访问控制 认证质询:响应码为401,拒绝客户端请求,并说明要求客户端提供账号和密码 认证:客户端用户填入账号和密码后再次发送请求报文,认证通过时,则服务器发送响应的资源 认证...

雾中花1
2017/10/21
0
0
实验-------basic认证配置

前提:清除防火墙和selinux策略 iptables -F ; setenforce 0 basic认证配置示例: 一、基于用户认证: (1) 定义安全域 AuthType Basic 认证方式 AuthName "String“ 提示信息 AuthUserFile "...

lc01081314
2017/10/19
0
0
web网站服务访问控制

httpd服务的访问控制 作用:控制对网站资源的访问,为特定的网站目录添加访问授权常用访问控制方式:客户机地址限制,用户授权限制Order配置项,定义控制顺序先允许后拒绝,默认拒绝所有:O...

xuewenhcang
2018/01/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot系列教程JPA之新增记录使用姿势

SpringBoot系列教程JPA之新增记录使用姿势 上一篇文章介绍了如何快速的搭建一个JPA的项目环境,并给出了一个简单的演示demo,接下来我们开始业务教程,也就是我们常说的CURD,接下来进入第一...

小灰灰Blog
31分钟前
2
0
大话文本检测经典模型:Pixel-Anchor

文本检测是深度学习中一项非常重要的应用,在前面的文章中已经介绍过了很多文本检测的方法,包括CTPN(详见文章:大话文本检测经典模型CTPN)、SegLink(详见文章:大话文本检测经典模型Seg...

雪饼
34分钟前
0
0
手把手教你写一个RPC

1.1 RPC 是什么 定义:RPC(Remote Procedure Call Protocol)——远程过程调用协议 ,RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC...

我最喜欢三大框架
43分钟前
1
0
系统监控-SpringBoot四大神器之Actuator

1. 为什么要使用Actuator来监控SpringBoot项目? 首先之前博客提到过使用JDK自带的JVM监控工具、Psi-Probe Tomcat监控工具以及Javamelody,也提到了Psi-Probe的强大,但是Psi-Probe针对jar包...

秋日芒草
45分钟前
5
0
pip通过setup.py和git仓库安装package

安装setup.py配置文件中的包 进入到setup.py所在目录 pip install -e . 1 安装git仓库中的包 pip install git+git clone 仓库地址.git 1 python代码打包为whl格式 python setup.py bdist_wh...

dillonxiao
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部