5月29日任务

时间:2022-05-30 14:02:57

11.18 Apache用户认证

为了增加安全性,可以对特定的页面使用用户认证

一.对用户进行认证

1.修改配置文件
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf

把123.com那个虚拟主机编辑成如下内容
DocumentRoot "/data/wwwroot/111.com"
    ServerName 111.com
    ServerAlias www.example.com
    <Directory /data/wwwroot/111.com>
       AllowOverride AuthConfig
       AuthName "111.com user auth"
       AuthType Basic
       AuthUserFile /data/.htpasswd
       require valid-user
    </Directory>
    ErrorLog "logs/111.com-error_log"
    CustomLog "logs/111.com-access_log" common

5月29日任务

2.创建密码文件

#/usr/local/apache2.4/bin/htpasswd  -c -m /data/.htpasswd  aming  //-c创建密码文件(再次增加新用户就不用-c了) -m以md5进行加密

5月29日任务
5月29日任务
3.重新加载配置 -t, graceful

5月29日任务


4.访问

#curl -x127.0.0.1:80  111.com

5月29日任务

5月29日任务

401代码说明你访问的页面需要认证


5.输入用户名密码

5月29日任务



curl也有选项-u来输入用户名密码

# curl -x127.0.0.1:80  -uaming:112358 111.com   //状态码200,表示正常

5月29日任务


二.对特定的目录或文件进行认证

1.修改配置文件

#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf   //把之前的注释掉,使用filesmatch

5月29日任务

检查语法,重新加载

# /usr/local/apache2.4/bin/apachectl -t

# /usr/local/apache2.4/bin/apachectl graceful


2.编辑一下123.php

#vim /data/wwwroot/111.com/123.php
5月29日任务

3.访问

# curl -x127.0.0.1:80   111.com   //可以正常访问111.com
5月29日任务

#curl -x127.0.0.1:80   111.com/123.php  //访问123.php就401了

5月29日任务

 # curl -x127.0.0.1:80 -uaming:112358  111.com/123.php  //指定用户名密码就可以正常访问123.php了

5月29日任务


11.19/11.20 域名跳转

域名跳转,简单来说就是访问某一网址时,跳转到另一网址
比如我们访问www.lishiming.net会自动跳转到http://ask.apelearn.com/


需求:把123.com域名跳转到www.123.com

具体配置过程:

1.编辑配置文件

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

5月29日任务

//下面时ppt的截图

5月29日任务

R=301是永久重新指向新网址  还有302是临时指向

2.检查语法,重新加载

# /usr/local/apache2.4/bin/apachectl -t

# /usr/local/apache2.4/bin/apachectl graceful

3.查看rewrite模块是否加载,若无该模块,编辑配置文件httpd.conf,取消rewrite module前面的#

# /usr/local/apache2.4/bin/apachectl -M |grep -i rewrite  //查看是否加载

若没有查询到就去下面的文件进行配置

# vim /usr/local/apache2.4/conf/httpd.conf   //去掉#

5月29日任务

下面就可以查询到了

5月29日任务


4.检查语法重新加载

# /usr/local/apache2.4/bin/apachectl -t

# /usr/local/apache2.4/bin/apachectl graceful


5.访问2111.com.cn

# curl -x127.0.0.1:80 2111.com.cn -I

5月29日任务


11.21 Apache访问日志

访问日志记录用户的每一个请求

看一下日志信息,日志目录

/usr/local/apache2.4/logs/

5月29日任务

# cat /usr/local/apache2.4/logs/111.com-access_log

5月29日任务

关于log的配置信息

# vim /usr/local/apache2.4/conf/httpd.conf  //搜索LogFormat,这里是格式信息

5月29日任务

User-Agent是用户代理,比如浏览器/curl

Referer是记录相关的网址,记录你是从哪里访问来的


而采用common或者combined在这里设置

#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf   //这里改为combined

5月29日任务

重新加载,在运行几次curl再来查看日志

#tail /usr/local/apache2.4/logs/111.com-access_log

5月29日任务