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. 什么是浮点型?什么是单精度浮点数(float)以及双精度浮点数(double)?

    前言 作为一名java学习者,怎能不懂这些java基础中的基础呢?本文就带各位温顾温顾java浮点型.单精度浮点数.双精度浮点数. 浮点型 首先明确java中浮点型数据类型主要有:单精度float.双 ...

  2. Java虚拟机之垃圾回收

    简述 Java与那些较传统的语言比如C++有个很大不同就是垃圾回收策略了.前者通常是虚拟机自动帮我们做了,而后者就需要我们手动来完成. Java虚拟机帮我们完成了垃圾回收,是不是意味着我们就不用完全去 ...

  3. 网络安全-主动信息收集篇第二章-三层网络发现之nmap和fping和Hping

    nmap IP  -sn nmap当目标IP在同一网段时,nmap会发送ARP包,当目标IP不在同一网段时nmap会发送ICMP的包. fping IP fping  -g 参数支持对IP地址起始和结 ...

  4. [考试反思]1030csp-s模拟测试94:未知

    排名也未知.第1或第5. 分数也未知,300或260. 人生真是大起大落... 啊啊啊啊啊我好感动啊竟然重测了一次----- 评测机怎么测怎么RE,本机怎么测怎么AC(任意编译指令,任意评测平台) 结 ...

  5. CSS(5)---通俗讲解盒子模型

    CSS(5)---盒子模型 盒子模型四个关键字:内容(content).填充(padding).边框(border).边界(margin), CSS盒子模式都具备这些属性. 一.概念 1. 概念 盒子 ...

  6. CF600E Lomsat gelral——线段树合并/dsu on tree

    题目描述 一棵树有$n$个结点,每个结点都是一种颜色,每个颜色有一个编号,求树中每个子树的最多的颜色编号的和. 这个题意是真的窒息...具体意思是说,每个节点有一个颜色,你要找的是每个子树中颜色的众数 ...

  7. Android 开发中是否应该使用枚举?

    本文由咕咚发布在个人博客,转载请注明出处. 本文永久地址:https://gudong.name/2019/11/04/use-enum-or-not.html 在 Android 官方文档推出性能优 ...

  8. 使用AForge录制视频

    使用AForge录制视频,基于Winform开发 (一)首先导入AForge包 需要先导入 using AForge.Video;using AForge.Video.FFMPEG; 两个工具包 (二 ...

  9. day5-列表专区

    list 列表.类li = [1, 12, 9, "age", ["88", ["19", 10], "方法"], &q ...

  10. 关于Jvm的见解(二)

    栈管运行,堆管存储!!! 栈呢,也叫作栈内存,主要管java程序的运行,在线程创建时创建,生命周期和线程一致,只要线程一结束,该栈就被GC,是线程私有的.基本类型的变量和对象的引用数据类型的变量都在栈 ...