25期Linux20180529 Apche 认证 访问日志 域名跳转

5月29日任务

11.18 Apache用户认证
11.19/11.20 域名跳转
11.21 Apache访问日志

11.18 Apache用户认证

所谓用户认证就是进入80端口对应的页面的时候,也就是通过apache的时候,设置了用户密码也就是安全认证。虽然一般不会用到,

但是在管理员账号登录页面也许会多加这么一层安全认证。

打开虚拟主机配置文件。 vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 。因为第一个是默认虚拟主机,所以可以对第二个配置进行修改。

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

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

AuthName "hqigroup user auth" #自定义认证的名字,作用不大

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

require valid-user #指定密码文件所在位置

</Directory>

以上就定义了需要认证的配置,其中有一个是指定密码文件的所在位置,这就要求了还是需要一个地方来放密码文件,包括用户名和密码。

Linux有一个命令来生成密码,那就是htpasswd

/usr/local/apache2/bin/htpasswd -c -m /data/.htpasswd bill

这样就创建一个md5加密的密码文件位置是/data/.htpasswd 用户名是bill 密码自己输入

可以看到用户和密码(加密后的)

当给第二个以及以后增加用户的时候,因为这个文件已经存在了,所以就不需要加-c这个参数了,因为不需要再创建文件了。

然后重新加载以下, 做测试。

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

出错了。找错喽,37行。

原来不能在后面加#注释,注释都删除以后就没有了。

/usr/local/apache2/bin/apachectl graceful

然后可以curl进行测试,应该是会出现402状态码,但是我出现的是200,也就是可以正常访问的状态码这样就不对了。

curl -x127.0.0.1:80 www.hqigroup.com.au -I

找错:

因为directory和root目录应该是同一个。

这个时候使用curl -x127.0.0.1:80 www.hqigroup.com.au -I

这样就可以了,匹配在虚拟主机里配置的用户和密码。

针对特定目录

注意用的不是directory而是filesmatch

其实就是在某个站点下的某一个目录进行认证。

<FilesMatch 文件名>

然后看下面的当直接访问这个域名的时候已经不会是401了,而访问下面的123.php的时候成了401.

也可以直接curl 用户名 密码来访问内容

curl -x127.0.0.1:80 -u用户名:密码 www.hqigroup.com.au/123.php

11.19/20 域名跳转

背景介绍:

域名跳转的需求,比如有些网站内容不再继续了,设置一下跳转到新的站点。

SEO搜索引擎在这里起到一定的作用。百度的蜘蛛来到服务器抓走了页面放到数据库,用户搜索的时候会去比对,找到相关的页面出来。

这就牵扯到另一个关于搜索排名的问题了。权重越高,排名越靠前。而判断网站就是靠看他的域名。如果一个网站有俩域名的话会被搜索引擎认为其中一个是假的,所以最好只有一个服务器,另一个域名跳转。

301 永久跳转,一般这么使用。

302 临时重定向,对于seo来说不友好。不降低之前域名的权重,也就不增加之后的域名权重。

还是要编辑 虚拟主机文件

首先要用到一个魔窟mod_rewrite。需要这个模块支持,打开,并定义rewrite的条件和规则。

<IfModule mod_rewrite.c> mod_rewrite模块支持

RewriteEngine on        打开rewrite功能

RewriteCond %{HTTP_HOST} !^www.hqigroup.com.au$  定义rewrite的条件,主机名(域名)不是www.hqigroup.com.au满足条件,正则,!表示的是取反,^开始  $结束

RewriteRule ^/(.*)$ http://www.hqigroup.com.au/$1 [R=301,L]  定义规则,当满足上面条件是,规则执行

</IfModule>

保存完文件之后,需要测试是否有语法错误,重新加载,检查是否这个模块打开,如果没打开要到apache的配置文件中去打开。

然后再检查,就发现已经加载了。

然后检查,加载后可以测试了。

再看如果url/xxx 的实验,也实现了跳转的新域名后面加之前的xxx

也会有403的代码,这种就是将apache的配置文件里的 all granted 改成 denied  403禁止。

以上就是域名的跳转/重定向

Apache的访问日志

访问日志就是去访问/请求的历史记录。

logs的目录是 /usr/local/apache/logs

访问日志里可以看到如下

但是这种日志格式太简单,不能自定义,如果想自定义的话就需要到 /usr/local/apache2/conf/httpd.conf去定义

vim进入到配置文件后找到logformat

系统默认使用的是common 所以上面看到的log字段就是这个格式来的。

特别指出一下 referer是来源页面 user-agent是代理,浏览器之类

所以这里接下里是要更改虚拟主机的配置文件,/usr/local/apache/conf/extra/httpd-vhosts.conf 将common改成combined

然后 -t graceful

curl -x127.0.0.1:80 www.example.com -I

看看log的结果,前两条是curl,最后一个是浏览器访问

这里只有user-agent信息,因为不是从一个目录跳转过来,所以没有referal信息。

原文地址:http://blog.51cto.com/13691454/2126428

时间: 2024-11-09 03:01:33

25期Linux20180529 Apche 认证 访问日志 域名跳转的相关文章

Apache配置用户认证、域名跳转、日志轮询、静态文件缓存、防盗链

使用版本为httpd-2.2.29 源码编译安装环境. 1.配置网站用户认证 编辑虚拟机主机配置文件 /usr/local/apache2/conf/extra/httpd-vhosts.conf,在虚拟主机配置文件段内加入绿色标示代码: <VirtualHost *:80> DocumentRoot "/data/www" ServerName www.123.com ServerAlias www.a.com www.b.com     <Directory *&

Apache用户认证;域名跳转;

扩展 apache虚拟主机开启php的短标签   http://www.aminglinux.com/bbs/thread-5370-1-1.html 1. 编辑第二个虚拟主机设定Apache用户认证(访问网站需要用户密码认证) [[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 插入内容如下(设定指定网站访问认证参数如下位置如图) <Directory /data/wwwroot/111.co

nginx 分别对各个域名跳转

根据需要对访问的域名跳转到维护页面. server {        listen  80;        server_name  ~^(fzj|monitor).10fei3.top;        if ($host ~* 'monitor.10fei3.top'){        rewrite ^/ http://maintaining.10fei3.top/maintaining.html;        } --

LAMP架构(apache用户认证,域名重定向,apache访问日志)

一.apache用户认证 用户认证就是打开一个网站.会让你输入用户名和密码.对了才会让你访问HTTP, vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 编辑内容如下 <Directory /data/wwwroot/www.123.com> //指定认证的目录 AllowOverride AuthConfig //这个相当于打开认证的开关 AuthName "123.com user auth" //自定义认证的名

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

Apache的用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把111.com那个虚拟主机编辑成如下内容 <VirtualHost *:80>DocumentRoot "/data/wwwroot/111.com"ServerName 111.comServerAlias www.example.com<Directory /data/wwwroot/111.com>AllowOverri

Apache(httpd)配置--用户认证,域名跳转和访问日志配置

一.用户认证 用户认证功能就是在用户访问网站的时候,需要输入用户名密码才能进行访问.一些比较好总要的站点和网站后台都会加上用户认证,以保证安全.实例:下面对zlinux.com站点来做一个全站的用户认证: 步骤1:编辑虚拟主机配置文件 [[email protected] ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf //在linuxtest.com虚拟主机下编辑添加以下内容 <VirtualHost *:80> Documen

Apache用户认证、域名跳转、访问日志格式

11.18 Apache用户认证 注意: 本章使用浏览器进行检测的前提是在物理机hosts文件添加虚拟机IP和虚拟主机域名. 配置用户认证 编辑虚拟主机配置文件"httpd-vhosts.conf".[[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf--<VirtualHost *:80>DocumentRoot "/data/wwwroot/111.com&qu

httpd用户认证,单个文件的用户认证,域名跳转,记录访问日志

针对httpd用户加验证 修改虚拟主机配置文件. 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> //指定认证的目录Allo

LAMP+LNMP(六)用户认证、域名跳转与访问日志

一.用户认证有的网站需要加密特定的网页,这是我们可以给网页设置成输入用户名和密码才能访问,那么具体的设置是 1.修改/usr/local/apache2.4/conf/extra/httpd-vhosts.conf文件我们先看下模板<VirtualHost *:80>DocumentRoot "/data/wwwroot/www.123.com"ServerName www.123.com<Directory /data/wwwroot/www.123.com>