博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apache用户认证及域名跳转、访问日志
阅读量:5882 次
发布时间:2019-06-19

本文共 2352 字,大约阅读时间需要 7 分钟。

一、apache的用户认证

vim /usr/local/apache/conf/extra/httpd-vhosts.conf //把11.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>
apache用户认证及域名跳转、访问日志
修改完成后,要生成密码文件
2、生成密码文件: /usr/local/apache/bin/htpasswd -c -m /data/.htpasswd riven
然后输入你想要的密码。然后就会生成密码文件
-c创建
-m 指定加密类型
如果再要增中用户,就不用-c选项了
重新加载配置/usr/local/apache/bin/apachectl -t , graceful

apache用户认证及域名跳转、访问日志

然后我们用curl -x192.168.1.31:80 123.com 去访问,提示401,说明你访问的内容需要做用户认证

我们如何用curl -x 去访问用户认证的网站呢?
curl -x192.168.1.31:80 -uriven:1122 123.com
提示200表示访问成功
apache用户认证及域名跳转、访问日志

然后我们用windows浏览器去访问,要修改hosts文件,在里面加一行 192.168.1.31 123.com

apache用户认证及域名跳转、访问日志

3、针对单个文件进行用户认证

<VirtualHost *:80>
DocumentRoot "/data/wwwroot/www.123.com"
ServerName 123.com
<FilesMatch admin.php> //我们前面指定的是整个目录,现在指定的是单个页面。
AllowOverride AuthConfig
AuthName "123.com user auth"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</FilesMatch>
</VirtualHost>
apache用户认证及域名跳转、访问日志
修改完配制后,/usr/local/apache/bin/apachectl -t 检查配制文件,/usr/local/apache/bin/apachect graceful 更新配置文件
测试:
apache用户认证及域名跳转、访问日志

二、域名跳转

1、什么叫做域名跳转: 就是从一个域名访问然后它跳到另一个域名上面;

(301永久重定向,提高权重,302就是临时重定向)
例:把33.com域名跳转到123.com,配置如下:

<VirtualHost :80>

DocumentRoot "/data/wwwroot/www.123.com"
ServerName 11.com
ServerAlias 123.com
<IfModule mod_rewrite.c> //需要mod_rewrite模块支持
RewriteEngine on //打开rewrite功能
RewriteCond %{HTTP_HOST} !^11.com$ //定义rewrite的条件,主机名(域名)不是11.com满足条件
RewriteRule ^/(.
)$ [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行
</IfModule>
</VirtualHost>
/usr/local/apache/bin/apachectl -t
/usr/local/apache/bin/apachectl -M |grep rewrite 查看有没有加载rewrite模块
若无该模块,需要编辑配置文件httpd.conf,删除rewrite_module (shared) 前面的#
2、测试
curl -x127.0.0.1:80 -I 123.com -I //状态码为301

apache用户认证及域名跳转、访问日志

三、apache访问日志

1、访问日志记录用户的每一个请求,日志目录在/usr/local/apache/logs

2、给日志定义格式
vim /usr/local/apache/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
(User-Agent 用户代理,Referer 就是浏览器上一次所访问的网址。)
查看日志:cat /usr/local/apache/logs/123.com-access_log
apache用户认证及域名跳转、访问日志
更改日志:
apache用户认证及域名跳转、访问日志
重新加载配置文件 -t,graceful
查看日志:tail -n5 /usr/local/apache/logs/123.com-access_log
apache用户认证及域名跳转、访问日志

转载于:https://blog.51cto.com/10690709/2121788

你可能感兴趣的文章
贪心算法----解背包问题
查看>>
从循环条件的代码里,我能在面试中甄别程序员是否是高级
查看>>
方便查看 linux/kernel/sched.c
查看>>
C++三大特性之封装
查看>>
impinj sdk文档
查看>>
ubuntu系统下更新jdk版本
查看>>
LightSwitch OOB发布模式下 Title的处理
查看>>
基于HT for Web的Web SCADA工控移动应用
查看>>
基于 HTML5 的电力接线图 SCADA 应用
查看>>
浅谈Stingray中的定制与开发
查看>>
Asp.net MVC WebApi 中使用ELMAH
查看>>
Android开发笔记01
查看>>
折半查找法的温习
查看>>
YunTable开发日记(7)- BigTable的功能集(转载)
查看>>
点击开关按钮,通过改变类名切换按钮
查看>>
存储过程
查看>>
Asp.net 实现选择文件批量下载
查看>>
android Seekbar 拖动按钮显示不全问题
查看>>
二叉树前序、中序、后序遍历相互求法
查看>>
xcode9 上传app后iTues 构建版本不显示
查看>>