Apache用户认证、域名跳转、Apache访问日志
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访问日志的更多相关文章
- apache用户认证 域名跳转 Apache访问日志
- Linux CentOS7 VMware LAMP架构Apache用户认证、域名跳转、Apache访问日志
一.Apache用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把111.com那个虚拟主机编辑成如下内容 <Virtu ...
- apache用户认证、默认主机、301跳转
我更正论坛一个同学帖子(今天坑我一下午):原文http://www.apelearn.com/bbs/foru ... 3%BB%A7%C8%CF%D6%A4 apache用户认证.默认主机.301跳 ...
- apache用户认证访问机制(转)
Apache服务器已经内置用户验证机制,大家只要适当的加以设置,便可以控制网站的某些部分要用户验证.前期准备,必须已经安装apache,如果还没安装,或者对安装很模糊的话,第1步:我们在/var/ww ...
- APACHE两种域名跳转法简单完成重定向
当我们变更网站域名,或者申请多个域名指向一个网站的时候,这个时候我们就会用到域名跳转(或者叫域名重定向redirect.域名转向).下面用最简单的文字讲两种apache的域名跳转方法. 假设我们想把w ...
- apache用户认证、域名跳转、Apache访问日志(两种格式)
1.apache 设置,用户访问时 目录或文件的认证: 对目录的认证: <Directory /var/www/222> //指定认证的目录AllowOverride AuthConfig ...
- 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 ...
- apache用户认证
创建一个目录abc:mkdir abc在此目录下建一个文件:12.txt正常情况下可以访问. 建立用户认证,从而使用户访问特定目录文件需要认证 在虚拟主机配置文件中即vim /usr/local/ap ...
- Apache 用户认证
基本认证(Basic) 摘要认证(Digest) 更安全 创建一个名为 users 的认证口令: htpasswd -c /usr/local/apache2/conf/users sam ...
随机推荐
- Java自动化测试框架-09 - TestNG之依赖注入篇 (详细教程)
1.-依赖注入 TestNG支持两种不同类型的依赖项注入:本机(由TestNG本身执行)和外部(由诸如Guice的依赖项注入框架执行). 1.1-本机依赖项注入 TestNG允许您在方法中声明其他参数 ...
- 投资自己【用Java写系统】
猿来如此:http://programmer.ischoolbar.com/
- git 陷阱小记
1.文件添加陷阱: 1).git 提交命令快捷键: git commit -a -m "",能够跳过git添加文件到暂存目录步骤 2)git add . git commit -m ...
- NOIP模拟 39
考的嘛也不是. 伤心(怎么可能) T1稍想想组合数,然后牢记: 取模题随时取模,包括刚刚读入的数据 T2想到了基环树,然而不会打QAQ.. 非常简洁但非常大神的做法:随便断掉环上的一条边 利用“这条 ...
- python学习之【第十一篇】:Python中的文件操作
1.前言 在Python中,对文件的操作主要遵循以下流程: 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 2.打开文件 使用open函数,可以打开一个已经存在的文件,或 ...
- php修改网站默认编码
php修改网站默认编码网站如果header 不指定utf8默认 不是utf8 所以输入中文显示会乱码 一般都是apache不是不是utf8 打开 apache 配置文件 httpd.conf 加个 A ...
- Eclipse搭建Android开发环境并运行Android项目
Eclipse搭建Android开发环境并运行Android项目 (详细) 安装环境: window 10 64位 安装工具: JDK.Eclipse.SDK.ADT 安装步骤: 1.JAVA JDK ...
- layer弹框的上面各个属性 -可配置
<script type="text/javascript"> 12 //eg 13 layer.open({ 14 title:"标题信息提示", ...
- 深入理解计算机系统 第八章 异常控制流 part2
关于进程,需要关注其提供给应用程序的两个关键抽象: 1.一个独立的逻辑控制流,它提供一个假象,好像我们的程序独占地使用处理器 2.一个私有的地址空间,它提供一个假象,好像我们的程序独占地使用内存系统 ...
- Nginx使用反向代理实现负载均衡
Nginx使用反向代理实现负载均衡 yls 2019-9-20 简介 基于docker容器以及docker-compose,所以需要自学docker在linux环境的基本使用 使用两个tomcat作为 ...