一、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. 喵星之旅-狂奔的兔子-linux安装

    一.前言 本文演示虚拟机安装,和真机区别可能在网卡驱动上有差异. 真机环境:CentOS Linux release 7.6.1810 (Core) 虚拟机(虽然centos系统自带虚拟机软件,但是习 ...

  2. radhat 6.7修改mac地址方法

    vi ifcfg-eth0 #HW……,即注释掉原硬件地址. 再自己照着原地址写:MACADDR="新mac地址" 重启

  3. SPOJ Distinct Substrings

    给定一个字符串,求不相同子串个数.每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相同子串个数.总数为n*(n-1)/2,再减掉height[i]的和就是答案 #include< ...

  4. cmake使用的一些补充

    一般使用cmake生成vs项目的时候,要么生成32位的要么生成64位的. 怎样将32位和64位在一个工程中打开呢,联系我们自己建立的工程都是32位和64位在一起的,就动手开始了. 实验对象是openc ...

  5. Uva 11300 Spreading the Wealth(贪心)

    题目链接:https://vjudge.net/problem/UVA-11300 这道题的思路太神了,但很难想到是贪心. 用M表示每个人最终拥有的金币数. 首先假设有四个人.假设1号给2号3枚,2号 ...

  6. Jenkins+Maven+Github+Springboot实现可持续自动部署(非常详细)

    目前公司开发的项目已经部署到服务器上,部署项目的测试环境和生产环境,加上每个项目n个服务,于是我就 , 骚就是骚,但是就是太累了,于是花点时间研究了一下Jenkins. Jenkins的作用和它的lo ...

  7. ECMAScript中的箭头函数 (=>) 使用注意事项

    箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或 new.target.这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数. 箭 ...

  8. 使用python实现归并排序、快速排序、堆排序

    归并排序 使用分治法:分而治之 分: 递归地拆分数组,直到它被分成两对单个元素数组为止. 然后,将这些单个元素中的每一个与它的对合并,然后将这些对与它们的对等合并,直到整个列表按照排序顺序合并为止. ...

  9. JIT对锁的优化- 锁消除和锁粗化案例分析

    锁消除和锁粗化案例分析 锁消除 直接上代码 /** * 描述: 锁粒度演示 * @author karl * @create 2020-02-11 14:38 */ public class MySy ...

  10. Spring学习(七)

    注解产生原因 1.传统spring的做法:使用xml来对bean进行注入和或者是配置aop.事物配置文件体积庞大,造成了配置文件的可读性和可维护性很低Java文件和xml不断切换,造成思维不连贯开发效 ...