2019独角兽企业重金招聘Python工程师标准>>>

hellopasswd


httpd的用户认证

  • vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf #把123.com虚拟主机编辑为 <VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com ServerName www.123.com <Directory /data/wwwroot/www.123.com> #指定认证的目录 AllowOverride AuthConfig #这个相当于打开认证的开关 AuthName "123.com user auth" #自定义认证的名字,作用不大 AuthType Basic #认证的类型,一般为Basic AuthUserFile /data/.htpasswd #指定密码文件所在位置 require valid-user #指定需要认证的用户为全部可用用户 </Directory> </VirtualHost>
  • /usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd user
  • 重新加载配置-t,graceful
  • 绑定hosts,浏览器测试
  • curl -x 127.0.0.1:80 www.123.com #状态码为401
  • curl -x 127.0.0.1:80 -u user:passwd www.123.com #状态码为200

将第二个虚拟主机修改为如下

[root@localhost ~]# vi /usr/local/apache2.4/conf/httpd.conf31 <VirtualHost *:80>32     DocumentRoot "/data/wwwroot/111.com"33     ServerName 111.com34     ServerAlias www.example.com35     <Directory /data/wwwroot/111.com>36         AllowOverride AuthConfig37         AuthName "111.com user auth"38         AuthType Basic39         AuthUserFile /data/.htpasswd40         require valid-user41     </Directory>42     ErrorLog "logs/111.com-error_log"43     CustomLog "logs/111.com-access_log" common44 </VirtualHost>

-c创建密码文件

[root@localhost ~]# /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd user
New password:
Re-type new password:
Adding password for user user

-m为MD5

[root@localhost ~]# cat /data/.htpasswd
user:$apr1$nz4nSFEa$xXz28yuiXSuuWb9LLAPzJ0

若要添加用户,则不需要再次创建-c

[root@localhost ~]# /usr/local/apache2.4/bin/htpasswd -m /data/.htpasswd admin
New password:
Re-type new password:
Adding password for user admin
[root@localhost ~]# cat /data/.htpasswd
user:$apr1$nz4nSFEa$xXz28yuiXSuuWb9LLAPzJ0
admin:$apr1$fb45.Cr9$Wejc/XMUd10Yl3aPhRvJm0
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful

访问111.com

[root@localhost ~]# curl -x 127.0.0.1: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>

出现了401,表示访问页面需要做用户验证

[root@localhost ~]# curl -x 127.0.0.1:80 111.com -I
HTTP/1.1 401 Unauthorized
Date: Sat, 04 Nov 2017 04:10:05 GMT
Server: Apache/2.4.29 (Unix) PHP/5.6.30
WWW-Authenticate: Basic realm="111.com user auth"
Content-Type: text/html; charset=iso-8859-1

Windows下在hosts文件添加111.com,然后浏览器访问111.com

输入用户和密码就能访问111.com了

而Linux访问的用户认证则需要加-u指定用户和密码则就可以访问成功

[root@localhost ~]# curl -x 127.0.0.1:80 111.com -u user:123
hello!111.com
[root@localhost ~]# curl -x 127.0.0.1:80 111.com -u user:123 -I
HTTP/1.1 200 OK
Date: Sat, 04 Nov 2017 04:15:43 GMT
Server: Apache/2.4.29 (Unix) PHP/5.6.30
X-Powered-By: PHP/5.6.30
Content-Type: text/html; charset=UTF-8
  • 针对某一个页面作用户认证
  • vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <VirtualHost *:80> DocumentRoot "/data/wwwwroot/www.123/com" ServerName www.123.com <FilesMatch user.php> AllowOverride AuthConfig AuthName "111.com user auth" AuthType Basic AuthUserFile /data/.htpasswd require valid-user </FileMatch> </VirtualHost> 针对某一个页面作用户认证
     31 <VirtualHost *:80>32     DocumentRoot "/data/wwwroot/111.com"33     ServerName 111.com34     ServerAlias www.example.com35 #    <Directory /data/wwwroot/111.com>36     <FilesMatch user.php>37         AllowOverride AuthConfig38         AuthName "111.com user auth"39         AuthType Basic40         AuthUserFile /data/.htpasswd41         require valid-user42     </FilesMatch>43 #    </Directory>44     ErrorLog "logs/111.com-error_log"45     CustomLog "logs/111.com-access_log" common46 </VirtualHost>
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t
Syntax OK
[root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful
[root@localhost ~]# vi /data/wwwroot/111.com/user.php<?phpecho "hello!user"?>
[root@localhost ~]# curl -x 127.0.0.1:80 111.com
hello!111.com
[root@localhost ~]# curl -x 127.0.0.1:80 111.com/user.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@localhost ~]# curl -x 127.0.0.1:80 -u user:123 111.com/user.php
hello!user

而Windows下的浏览器访问也同样可以


修改与 171220

转载于:https://my.oschina.net/hellopasswd/blog/1592901

【CentOS 7LAMP架构7】,Apache用户认证#171220相关推荐

  1. Linux CentOS7 VMware LAMP架构Apache用户认证、域名跳转、Apache访问日志

    一.Apache用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把111.com那个虚拟主机编辑成如下内容 <Virtu ...

  2. Apache用户认证,域名跳转

    2019独角兽企业重金招聘Python工程师标准>>> 11月15日任务 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志 11. ...

  3. 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志

    2019独角兽企业重金招聘Python工程师标准>>> 11.18 Apache用户认证 htpasswd命令 >htpasswd命令是Apache的Web服务器内置工具,用于 ...

  4. 4.13 apache用户认证,跳转和访问日志

    Apache用户认证 有的网站在访问的时候需要我们输入账户名和密码,这样做的好处是增加了安全性,但是用户体验会很差.但是在我们在工作中还需要在一些重要的地方做一些安全认证. 首先我们编辑虚拟主机的配置 ...

  5. 84.LAMP的apache用户认证,域名跳转,日志文件

    apache用户认证 PS:其实没有....用处的... 命令描述 htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名.域和用户基本认证的密码文件. 命令语法 htpa ...

  6. 41.Apache用户认证及访问日志 域名跳转

    2019独角兽企业重金招聘Python工程师标准>>> 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志 扩展 apache虚拟主 ...

  7. Apache用户认证、域名跳转、Apache访问日志

    httpd的用户认证 注意: 本章使用浏览器进行检测的前提是在物理机hosts文件添加虚拟机IP和虚拟主机域名. 配置用户认证 编辑httpd配置文件/usr/local/apache2.4/conf ...

  8. Apache用户认证、默认虚拟主机、域名301跳转

    apache hosts配置文件: vim /usr/local/apache/conf/extra/httpd-vhosts.conf apache 主配置文件: vim /usr/local/ap ...

  9. LAMP 之 Apache 用户认证

    第一步登陆上Discuz 之后,我们用做一个Apache 的用户认证 此网站有一个目录,上面有一些重要的文件,不需要其他人看见,只有管理员可以看,但是还要方便在网站上展示. 示例: [root@OBi ...

最新文章

  1. 2008开年大礼:《Application = Code + Markup》中文版面世
  2. 《《python基础》》
  3. mysql 5.5半同步复制_MySQL5.5配置安装半同步复制
  4. 深入 AngularUI Router
  5. asp.net MD5加密函数(c#)
  6. 中山大学曾兆阳_2010—2011学年度中山大学信科院优秀学生奖学金评选结果名单...
  7. #nginx# 泛解析大量域名的情况下 将不带www的域名,301到与之对应的www前缀的域名...
  8. 模式识别中的特征向量和矩阵的特征向量有什么关系
  9. 编程零基础应当如何开始学习 Python?
  10. 云服务器饥荒_运用双腾讯云搭建《饥荒》多人联机服务器
  11. UE4之Obj模型解构解析
  12. Android Studio builde.gradle 配置说明
  13. java实验报告实验思路_20145307第一周JAVA实验报告
  14. 华为自动驾驶域控制器:现货PK期货,工程能力PK只有算力
  15. C语言课后练习题第二章
  16. java对话框进度条_java进度条
  17. keil工程 freertos AC5编译器移植到AC6编译器
  18. html鼠标可拖动窗体,javascript div 弹出可拖动窗口
  19. 盗版网课有多猖狂?原价上万,只卖5元
  20. matlab ifft 后是复数,在matlab和numpy中使用ifft会产生不同的结果

热门文章

  1. 西卡 你要浮出水面啦
  2. 十种工具审核网络安全
  3. 使用python-nmap模块扫描端口脚本
  4. 大数据教程之大数据处理流程
  5. Flask之WTForms验证
  6. 使用JCIFS获取远程共享文件
  7. 12月国内网站流量统计5强:360安全中心后来居上
  8. [转] JSON转换
  9. Oracle trunc()函数的用法
  10. 一个“蝇量级” C 语言协程库