5月29日任务

课程内容:

11.18 Apache用户认证
11.19/11.20 域名跳转
11.21 Apache访问日志
扩展 
apache虚拟主机开启php的短标签 http://ask.apelearn.com/question/5370

11.18 Apache用户认证

用户认证的目的是增加安全性,不好的地方就是用户体验不好,每个人访问网站时还需要输入密码,但是需求是无处不在的,需求的类型也是多种多样的。

实例操作步骤如下:

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把第二个虚拟主机编辑成如下内容

/usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd jimmy  使用命令方式生成密码文件

cat /data/.htpasswd  查看密码文件,以冒号分隔左边是用户名,右边是MD5加密的密码。

做完上面的操作后,重新加载配置文件 /usr/local/apache2.4/bin/apachectl graceful

然后使用curl命令

在Windows的hosts文件中添加111.com,然后到IE访问111.com就会提示输入用户名和密码的验证窗口。

输入正确的用户名和密码登录就可以看到访问页面的内容了

[root@jimmylinux-002 ~]# curl -x127.0.0.1:80 -ujimmy:abcd1234 111.com -I  也可以使用curl命令方式输入用户名和密码,如果验证通过会显示200代码。

还可以针对单个文件进行认证,比如对后台admin账号登录时进行认证。修改vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 配置文件,修改内容如下。

/usr/local/apache2.4/bin/apachectl graceful  重新加载配置文件,如果以下错误,是因为配置文件中FilesMatch前面少了/

然后编辑一个admin.php的文件

这个时候直接输入命令curl -x127.0.0.1:80 111.com -I 也可以访问。

curl -x127.0.0.1:80 111.com/admin.php -I  访问这个同样是会报401错误的,是因为针对admin.php做了一个限制。

这个时候再加上用户名和密码就正常了

同样也可以在IE浏览器进行访问,会提示输入用户名和密码进行认证。

以上所有的操作就是用户认证方式,当你的网站有某些文件不需要别人访问查看时候,就可以通过用户认证的方式进行限制。

11.19/11.20 域名跳转

vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf  修改虚拟主机配置文件,可以把不用的内容加#注释掉。

在Windows的hosts文件中也需要加上 www.example.com

改完配置文件后需要重新加载 /usr/local/apache2.4/bin/apachectl graceful

在测试之前先检查下Apache是不是加载了rewrite模块,如果没有加载,需要打开,因为在编译的时候指定了modules,所以这个模块是一定存在的。

[root@jimmylinux-002 ~]# /usr/local/apache2.4/bin/apachectl -M |grep rewrite

[root@jimmylinux-002 ~]# vi /usr/local/apache2.4/conf/httpd.conf  把rewrite这行的#取消掉

现在进行测试看看是否能够正常使用,因为80监听的是全网,所以无论使用哪个IP都可以。

[root@jimmylinux-002 ~]# curl -x192.168.52.129:80 2111.com.cn -I  (大写I表示只查看状态码,不显示内容)

可以看到上面的结果说明跳转成功

状态码解释:

301    永久重定向

302    临时重定向

404    文件不存在

401    用户认证失败

200    用户认证成功

11.21 Apache访问日志

日志文件存放在这个路径 ls /usr/local/apache2.4/logs/

cat /usr/local/apache2.4/logs/111.com-access_log  可以通过cat查看log

左边为来源IP地址,后面是访问时间,HEAD是通过curl命令访问的记录,GET是不加-I时候的内容。

vim /usr/local/apache2.4/conf/httpd.conf  可以通过修改主配置文件定义log

LogFormat就是日志的格式,有combined和common2种,我们默认使用的就是common,刚才看到的日志就是通过common这里面的变量定义的。

combined这种格式除了能够显示common的外,还可以显示Referer,显示User-Agent,什么叫Referer,User-Agent,User-Agent就是用户代理,作为一个用户,我想访问网站的内容,是需要通过浏览器或者curl方式去访问。

Referer是浏览器上一次所访问的URL网址,例如从百度主页去访问百度新闻,那么当访问到百度新闻时,记录的URL网址其实是百度主页,这个就是记录的Referer。

下面我们使用combined方式修改虚拟主机配置文件来定义日志

/usr/local/apache2.4/conf/extra/httpd-vhosts.conf

修改完以后重新加载配置文件 /usr/local/apache2.4/bin/apachectl graceful 在执行curl命令检查是否正常

在使用IE浏览器访问 http://111.com/admin.php  然后去查看下日志,最下面新生成的内容就会比common方式记录的丰富的多。

[root@jimmylinux-002 ~]# cat /usr/local/apache2.4/logs/111.com-access_log

在猿课论坛发一个测试帖子,然后在通过论坛点开111.com/admin.php 去访问,这样在日志里面就可以记录到 Referer 了。

Apache用户认证、域名跳转、Apache访问日志的更多相关文章

  1. apache用户认证 域名跳转 Apache访问日志

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

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

  3. apache用户认证、默认主机、301跳转

    我更正论坛一个同学帖子(今天坑我一下午):原文http://www.apelearn.com/bbs/foru ... 3%BB%A7%C8%CF%D6%A4 apache用户认证.默认主机.301跳 ...

  4. apache用户认证访问机制(转)

    Apache服务器已经内置用户验证机制,大家只要适当的加以设置,便可以控制网站的某些部分要用户验证.前期准备,必须已经安装apache,如果还没安装,或者对安装很模糊的话,第1步:我们在/var/ww ...

  5. APACHE两种域名跳转法简单完成重定向

    当我们变更网站域名,或者申请多个域名指向一个网站的时候,这个时候我们就会用到域名跳转(或者叫域名重定向redirect.域名转向).下面用最简单的文字讲两种apache的域名跳转方法. 假设我们想把w ...

  6. apache用户认证、域名跳转、Apache访问日志(两种格式)

    1.apache 设置,用户访问时 目录或文件的认证: 对目录的认证: <Directory /var/www/222> //指定认证的目录AllowOverride AuthConfig ...

  7. apache用户认证,ssl双向认证配置

    安装环境: OS:contos 6.4 httpd:httpd-2.2.15-59.el6.centos.i686.rpm openssl:openssl-1.0.1e-57.el6.i686.rpm ...

  8. apache用户认证

    创建一个目录abc:mkdir abc在此目录下建一个文件:12.txt正常情况下可以访问. 建立用户认证,从而使用户访问特定目录文件需要认证 在虚拟主机配置文件中即vim /usr/local/ap ...

  9. Apache 用户认证

    基本认证(Basic) 摘要认证(Digest) 更安全 创建一个名为 users 的认证口令: htpasswd    -c   /usr/local/apache2/conf/users sam ...

随机推荐

  1. VB.NET 与 SAP RFC连接问题点

    与SAP RFC连接,电脑上必须要安装SAP软件,否则会报错ActiveX 输入工单号,无法带出SAP内接口RFC信息. 确认原因为:RFC接口需求的工单参数需要在前面加两位00,例如:1000541 ...

  2. CVE-2019-13272Linuxkernel权限许可和访问控制问题漏洞

    漏洞简介: Linuxkernel是美国Linux基金会发布的开源操作系统Linux所使用的内核. Linuxkernel5.1.17之前版本中存在安全漏洞,该漏洞源于kernel/ptrace.c文 ...

  3. 大事祭——MiserWeyte

    2019.9.10 QHDYZ组建信奥集训队祭(我哪知道这个鶸学校为啥这个时候组队) 2019.9.11 成为集训队毒瘤出题人祭 2019.9.21 博客界面优化祭(终于不是白底蓝框了)“那个拿剑的就 ...

  4. Kong05-Kong 的健康检查和监控

    您可以让 Kong 代理的 API 使用 ring-balancer , 通过添加包含一个或多个目标实体的upstream 实体来配置,每个目标指向不同的IP地址(或主机名)和端口.ring-bala ...

  5. js基础总结03 --操作数组

    修改于 2019-11-10 1 length:长度 <script> var arr = [1,2,3,4,5,6,7,8]; console.log(arr.length);//arr ...

  6. Java描述设计模式(18):享元模式

    本文源码:GitHub·点这里 || GitEE·点这里 一.使用场景 应用代码 public class C01_InScene { public static void main(String[] ...

  7. SQL Server 中 `JSON_MODIFY` 的使用

    SQL Server 中 JSON_MODIFY 的使用 Intro SQL Server 从 2016 开始支持了一些 JSON操作,最近的项目里也是好多地方直接用字段直接存成了 JSON,需要了解 ...

  8. AI的真实感

    目录 1.让AI"不完美"--估算和假设 2 AI感知 全能感知 特定感觉无知 3 AI的个性 4 AI的预判 5 AI的智能等级 ​ AI的真实感一直是游戏AI程序员追求的目标, ...

  9. Java面向对象程序设计第15章5

    5. 利用URLConnetction对象编写程序返回某网站的首页,并将首页的内容存放到文件当中. import java.net.*; import java.io.*; public class ...

  10. MySql: AUTO_INCREMENT

    首先要在Column使用AUTO_INCREMENT (每张表只有一个列可以AUTO_INCREMENT): 以下示例取自MySql官网(http://dev.mysql.com/doc/refman ...