Apache用户认证,域名跳转,访问日志
2017-12-21 00:00
316 查看
Apache用户认证
vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把123.com那个虚拟主机编辑成如下内容<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
<Directory /data/wwwroot/www.123.com> //指定认证的目录
AllowOverride AuthConfig //这个相当于打开认证的开关
AuthName "123.com user auth" //自定义认证的名字,作用不大
AuthType Basic //认证的类型,一般为Basic,其他类型阿铭没用过
AuthUserFile /data/.htpasswd //指定密码文件所在位置
require valid-user //指定需要认证的用户为全部可用用户
</Directory>
</VirtualHost>
/usr/local/apache2.4/bin/htpasswd -cm /data/.htpasswd aming
重新加载配置-t , graceful
绑定hosts,浏览器测试
curl -x127.0.0.1:80 www.123.com //状态码为401
curl -x127.0.0.1:80 -uaming:passwd www.123.com //状态码为200
还可以针对单个文件进行认证
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
<FilesMatch admin.php>
AllowOverride AuthConfig
AuthName "123.com user auth"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</FilesMatch>
</VirtualHost>
httpd的用户认证
编辑虚拟主机配置文件,在第二段代码中增加内容(红框中)用apache自带的命令htpasswd创建指定的密码文件,-c是创建(第二次创建不需要加-c),-m是MD5加密,/data/.htpasswd是指定密码文件所在位置
查看 /data/.htpasswd 文件内容,以冒号分割,左边是用户名,右边是MD5加密的密码
查看配置文件是否有错误,并重新加载配置文件
做测试,访问111.com的时候,会提示401状态码
401状态码说明访问的内容需要做用户验证
先在Windows中hosts文件定义111.com
然后再浏览器中访问111.com,输入用户名和密码,即可访问
curl输入用户名和密码,提示状态码200,表示是正常的
针对某一个访问的进行认证
修改虚拟主机配置文件vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf,保存退出检查配置文件是否存在语法错误,并重新加载配置文件
编辑123.php文件
然后做测试,可以访问123.php
域名跳转
需求,把123.com域名跳转到www.123.com,配置如下:<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com ServerAlias 123.com
<IfModule mod_rewrite.c> //需要mod_rewrite模块支持
RewriteEngine on //打开rewrite功能
RewriteCond %{HTTP_HOST} !^www.123.com$ //定义rewrite的条件,主机名(域名)不是www.123.com满足条件
RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行
</IfModule>
</VirtualHost>
/usr/local/apache2/bin/apachectl -M|grep -i rewrite //若无该模块,需要编辑配置文件httpd.conf,删除rewrite_module (shared) 前面的#
curl -x127.0.0.1:80 -I 123.com //状态码为301
301是永久重定向(建议);302是临时重定向,在搜索引擎这边不太友好,不会把原来域名的权重降低
域名跳转配置
打开虚拟主机配置文件并修改vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf检查修改的配置文件是否存在语法错误,重新加载配置文件
测试前,先检查Apache是否加载了rewrite模块,没有加载,需要打开;
搜索/rewrite,将前面的注释符号去掉
然后检查修改的配置文件是否存在语法错误,重新加载配置文件
测试:访问2111.com.cn,-I表示不显示内容,只看状态码
也可以查看2111.com.cn访问内容
随便输入字符访问网站,会出现404状态码,表示页面不存在;401状态码表示用户名和密码不正确;验证对了状态码就是200
Apache访问日志
访问日志记录用户的每一个请求vim /usr/local/apache2.4/conf/httpd.conf //搜索LogFormat
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
把虚拟主机配置文件改成如下:
<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName www.123.com
ServerAlias 123.com
CustomLog "logs/123.com-access_log" combined
</VirtualHost>
重新加载配置文件 -t,graceful
curl -x127.0.0.1:80 -I 123.com
tail /usr/local/apache2.4/logs/123.com-access_log
查看日志文件
打开主配置文件,搜索LogFormat,红框中就是日志的格式;%h来源IP,%l用户,%u用户名密码,%t时间,%r网址,%s状态码,%b大小,%user-agent用户代理,%referer:跳转到当前位置的上一个网址
编辑虚拟主机配置文件vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf,将common改为combined
检查修改的配置文件是否存在语法错误,重新加载配置文件
访问111.com/123.php
查看日志,Referer需要通过点击链接才能显示出来
扩展
apache虚拟主机开启php的短标签相关文章推荐
- apache用户认证 域名跳转 Apache访问日志
- Apache用户认证、域名跳转、Apache访问日志介绍
- apache用户认证 域名跳转 Apache访问日志
- LAMP架构(五)之Apache用户认证,域名跳转,访问日志
- Apache用户认证、域名跳转、Apache访问日志
- Apache用户认证、域名跳转、Apache访问日志
- Apache用户认证,域名跳转,Apache访问日志
- 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志
- 配置默认主机,Apache用户认证,域名跳转,Apache访问日志,访问日志
- Apache用户认证、域名跳转、访问日志格式
- 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志
- Apache用户认证、域名跳转、Apache访问日志
- LAMP ---Apache用户认证、域名跳转、Apache访问日志介绍······
- Apache用户认证、域名跳转、访问日志格式
- 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志
- Apache用户认证、域名跳转、访问日志格式
- 十周第三次课 2017.12.20 Apache用户认证、域名跳转、Apache访问日志
- apache用户认证,域名跳转,查看访问日志
- linux的Apache用户认证、域名跳转、Apache访问日志介绍
- Apache用户认证、域名跳转、Apache访问日志