11.18 Apache用户认证
为了增加安全性,可以对特定的页面使用用户认证一.对用户进行认证
把123.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
#curl -x127.0.0.1:80 111.com
5.输入用户名密码
curl也有选项-u来输入用户名密码
# curl -x127.0.0.1:80 -uaming:112358 111.com //状态码200,表示正常
二.对特定的目录或文件进行认证
1.修改配置文件
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把之前的注释掉,使用filesmatch
检查语法,重新加载
# /usr/local/apache2.4/bin/apachectl -t
# /usr/local/apache2.4/bin/apachectl graceful
2.编辑一下123.php
#vim /data/wwwroot/111.com/123.php
3.访问
# curl -x127.0.0.1:80 111.com //可以正常访问111.com
#curl -x127.0.0.1:80 111.com/123.php //访问123.php就401了
# curl -x127.0.0.1:80 -uaming:112358 111.com/123.php //指定用户名密码就可以正常访问123.php了
11.19/11.20 域名跳转
域名跳转,简单来说就是访问某一网址时,跳转到另一网址需求:把123.com域名跳转到www.123.com
具体配置过程:
1.编辑配置文件
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf
//下面时ppt的截图
R=301是永久重新指向新网址 还有302是临时指向
# /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 //去掉#
下面就可以查询到了
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
11.21 Apache访问日志
访问日志记录用户的每一个请求
看一下日志信息,日志目录
/usr/local/apache2.4/logs/
# cat /usr/local/apache2.4/logs/111.com-access_log
关于log的配置信息
# vim /usr/local/apache2.4/conf/httpd.conf //搜索LogFormat,这里是格式信息
User-Agent是用户代理,比如浏览器/curl
Referer是记录相关的网址,记录你是从哪里访问来的
而采用common或者combined在这里设置
#vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //这里改为combined
重新加载,在运行几次curl再来查看日志
#tail /usr/local/apache2.4/logs/111.com-access_log