十周第三次课 2017.12.20 Apache用户认证、域名跳转、Apache访问日志
11.18 Apache用户认证
打开网站直接弹出输入用户名密码,正确了之后才能查看网站,这个叫Apache用户认证。
(require后面的valid-user表示上面密码文件里的用户)
我们可与把如上代码复制粘贴到配置文件里默认虚拟主机的下面一个虚拟主机,然后根据自己情况改一下,我们改成如下图
然后我们在刚刚指定的密码目录创建用户和密码:
(-c创建密码文件,已经创建过密码文件之后下次再添加密码就不需要加-c了,-m指定加密类型为md5,/data/.htpasswd指定密码文件路径,aming增加用户)
然后我们可以cat一下看看
然后我们检查一下是否有错误再重新加载配置文件
然后我们来测试一下,它会提示401
,这就说明需要用户验证,
我们使用curl的如下选项也可以实现输入用户验证的用户名和密码:
同样我们可以在浏览器上输入域名试试,(前提你要在Windows的hosts里定义了这个域名指向linux本机ip)然后它会提示我们需要身份验证。
有时候我们还会有一个只对单个文件进行认证。和前面的操作几乎一样,但是唯一不同的就会如下标出的位置。
前面这一行是指定目录,这里是
指定文件
然后我们检查一下是否有错误再重新加载配置文件
然后我们新建一个123.php,然后在里面随便写点东西
然后我们测试一下,这时候你会发现不用-u输入用户名密码也可以访问了。
但是当我们访问123.php的时候就需要用户验证,就是因为我们给它单独做了限制。
11.19/11.20 域名跳转
302是临时重定向 不会移动权重
11.21 Apache访问日志
操作的虚拟主机下面位置都会有日志文件名,它的位置在
我们可以看一下它的内容,
从左到右分别是来源ip、时间、行为、访问的域名、http的版本、状态码、大小。(但是这个格式太简单了)
日志我们是可以给它定义格式的,
在搜索Log找到
,这里给我们提供了两个日志的格式,我们默认用的是common。
h:来源ip
l:用户
u:用户名密码
t:时间
r:行为网址
s:状态码
b:大小
另外一种格式多了两个其他选项。
refere:浏览器访问这个网页前的网址
user-agent:用户代理,用户通过什么东西访问,比如浏览器,curl命令访问
给Apache访问日志定义其他格式