一、Apache用户认证

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

//把111.com那个虚拟主机编辑成如下内容

<VirtualHost *:80>

DocumentRoot "/data/wwwroot/www.111.com"

ServerName www.111.com

<Directory /data/wwwroot/www.111.com> //指定认证的目录

AllowOverride AuthConfig //这个相当于打开认证的开关

AuthName "111.com user auth" //自定义认证的名字,作用不大

AuthType Basic //认证的类型,一般为Basic

AuthUserFile /data/.htpasswd //指定密码文件所在位置

require valid-user //指定需要认证的用户为全部可用用户

</Directory>

</VirtualHost>

生成新用户、密码,检查是否成功,-c:创建

同样可以添加其他的用户,可以看到两个用户并存,此时就不需要-c了,因为已经创建过了

重新加载配置-t , graceful 绑定hosts,浏览器测试

curl -x127.0.0.1:80 111.com //状态码为401:说明访问内容需要用户验证

curl -x127.0.0.1:80 111.com -I    大i

windows vhosts需要有111.com

不同浏览器访问可能会访问不到

IE浏览器可以访问到

360浏览器就访问不到,因为输入

curl -x127.0.0.1:80 -udavery:mimA123 111.com //状态码为200

输错密码状态变401

还可以只针对单个文件123.php进行认证

编辑

vim /dtat/wwwroot/111.com/123.php

测试

不需要输入密码也能访问到

访问123.php 才会401 才需要

输入密码认证

二、域名跳转

需求,把www.123.com域名跳转到111.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} !^111.com$    语句说明:不是111.com  //定义rewrite的条件,主机名(域名)

不是www.123.com满足条件

RewriteRule ^/(.*)$ http://www.123.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行 </IfModule>

</VirtualHost>

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

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

/usr/local/apache2/bin/apachectl -M |grep rewrite //若无该模块,需要编辑配置文件httpd.conf,删除rewrite_module (shared) 前面的#

再次查看模块就出来了

重新加载配置

curl -x127.0.0.1:80 -I 123.com //状态码为301则说明设置成功

把granted改为denied则状态变为403

随便输入一个网址则变为404,表示不存在

三、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

查看111.com的日志

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

把虚拟主机配置文件改成如下:

vim /usr/local/apache2.4/conf/httpd.conf

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

改为

<VirtualHost *:80>

DocumentRoot "/data/wwwroot/www.111.com"

ServerName www.111.com

ServerAlias 111.com

CustomLog "logs/111.com-access_log" combined

</VirtualHost>

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

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

/usr/local/apache2.4/bin/apachectl restart

重新加载

curl -x127.0.0.1:80 -I 111.com

curl -x192.168.1.101:80 -I www.111.com/index.php

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

Linux CentOS7 VMware LAMP架构Apache用户认证、域名跳转、Apache访问日志的更多相关文章

  1. apache用户认证 域名跳转 Apache访问日志

  2. Linux CentOS7 VMware usermod命令、用户密码管理、mkpasswd命令

    一. usermod命令 usermod可用来修改用户帐号的各项设定 -c, --comment 注释 GECOS 字段的新值 -d, --home HOME_DIR 用户的新主目录 -e, --ex ...

  3. apache用户认证、默认主机、301跳转

    我更正论坛一个同学帖子(今天坑我一下午):原文http://www.apelearn.com/bbs/foru ... 3%BB%A7%C8%CF%D6%A4 apache用户认证.默认主机.301跳 ...

  4. apache用户认证访问机制(转)

    Apache服务器已经内置用户验证机制,大家只要适当的加以设置,便可以控制网站的某些部分要用户验证.前期准备,必须已经安装apache,如果还没安装,或者对安装很模糊的话,第1步:我们在/var/ww ...

  5. Apache用户认证、域名跳转、Apache访问日志

    5月29日任务 课程内容: 11.18 Apache用户认证11.19/11.20 域名跳转11.21 Apache访问日志扩展 apache虚拟主机开启php的短标签 http://ask.apel ...

  6. APACHE两种域名跳转法简单完成重定向

    当我们变更网站域名,或者申请多个域名指向一个网站的时候,这个时候我们就会用到域名跳转(或者叫域名重定向redirect.域名转向).下面用最简单的文字讲两种apache的域名跳转方法. 假设我们想把w ...

  7. Linux(Centos7)搭建LAMP(Apache+PHP+Mysql环境)

    目录 Linux搭建LAMP(Apache+PHP+Mysql环境)Centos7 一. 检查系统环境 1.确认centos版本 2.检查是否安装过apache 3.检查是否安装过Mysql 4.清理 ...

  8. Linux CentOS7 VMware linux和windows互传文件、用户配置文件和密码配置文件、用户组管理、用户管理

    一. linux和windows互传文件 X-shell.Securecrt远程终端,与Windows之间互传文件. 安装一个工具lrzsz [root@davery ~]# yum install ...

  9. Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间

    一.Apache访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 vim /usr/local/apache2.4/conf/extra/httpd-vho ...

随机推荐

  1. python报错使用yum命令报错File &quot;/usr/bin/yum&quot;, line 30 except KeyboardInterrupt, e: SyntaxError: invalid syntax问题

    参考链接:https://blog.csdn.net/ltz150/article/details/77870735 1.背景: CentOS 7升级Python到3.6.2后,需要在/usr/bin ...

  2. Django框架之ORM的相关操作之分页(六)

    分页是每个项目必不可少要写的一个功能,该篇文章就将记录一下使用ORM写分页的过程. 假设我们的数据库里面需要显示一些数据,而这个表中的数据大约有几千条数据,那么我们不可能将所有的数据都显示出来,那么就 ...

  3. UITextField的内存泄漏问题

    背景: 项目中使用了Facebook的FBRetainCycleDetector框架检测内存泄漏问题. 登录VC的view中放置了一个UITextField对象. 产品的要求是当进入登录界面的时候,让 ...

  4. UVa 400 Unix Is命令

    简单题 #include <bits/stdc++.h> using namespace std; const int maxn=110; string s[maxn]; int main ...

  5. java篇 之 数组

    数组:本身也是对象元素数据类型必须一致,初始值为各种零(跟类型一致),数组中存放 的是对象的引用(地址),对象在其它空间,一旦创建长度不可变,length可以直 接访问 (new的时候才分配空间,创建 ...

  6. MYSQL命令练习及跳过数据库密码进行密码重新设置

        2.看当前所有数据库:show databases; 3.进入mysql数据库:use mysql; 4.查看mysql数据库中所有的表:show tables; 5.查看user表中的数据: ...

  7. php 单机redis 常用命令

    一.Redis连接与认证 //连接参数:ip.端口.连接超时时间,连接成功返回true,否则返回false $ret = $redis->connect('127.0.0.1', 6379, 3 ...

  8. JDK源码分析-HashMap

    一.HashMap的内部属性 1.1 成员变量 1.1.1 size: HashMap包含的KV键值对的数量,也就是我们通常调用Map.size()方法的返回值 public int size() { ...

  9. Halcon blob分析基本处理步骤

    Halcon,blob分析 应用场景,二值化后的灰度图像对比度清晰 基本处理流程 1 读取图片 read_image(变量名,'路径') //halcon字符串使用单引号'' 2 预处理 2.1 RO ...

  10. 【转】使用shell登录远程服务器执行多条命令,ssh登录之后执行脚本文件

    原文:https://blog.csdn.net/qq_36622490/article/details/100773589 这个需求主要是我在jenkins中pipeline的代码里,需要使用she ...