httpd重定向跳转和更详细的日志记录

httpd的页面登录认证
在httpd的虚拟主机配置文件中添加用户认证的密码的相关配置

<VirtualHost *:80>
 ?  DocumentRoot "/usr/local/httpd/docs/123.com"
 ?  ServerName 123.com
 ?  ServerAlias www.123.com
 ? <directory /usr/local/httpd/docs/123.com>
 ?  AllowOverride AuthConfig
 ?  AuthName "Please is passwd :"
 ?  AuthType Basic
 ?  AuthUserFile /usr/local/httpd/conf/htpasswd
 ?  require valid-user
 ? </Directory>
 ?  ErrorLog "logs/123.com-error_log"
 ?  CustomLog "logs/123.com-access_log" common
</VirtualHost>

directory 指定需要认证的网页根目录,访问此目录下的网页都需要输入认证的账户名和密码
AllowOverride AuthConfig 账户密码认证的生效配置,保持此配置即可
AuthName 账户密码认证输入时提示的信息
AuthType Basic 账户密码认证的类型,常用Basic的类型即可
AuthUserFile /usr/local/httpd/conf/htpasswd 指定账户密码配置文件的目录
require valid-user 指定需要认证的用户为全部可用的用户(配置文件内的用户)



使用httpd下的htpasswd文件来添加用户认证的名称及密码,第一次创建密码认证的文件时,必须要加-c选项,这样才能创建一个保存用户和密码的认证文件,后续新添加用户则不再需要使用-c选项

[[email protected] extra]# /usr/local/httpd/bin/htpasswd -c /usr/local/httpd/conf/htpasswd user
New password:
Re-type new password:
Adding password for user user ? ? ? ? ?
[[email protected] extra]# /usr/local/httpd/bin/htpasswd /usr/local/httpd/conf/htpasswd user1
New password:
Re-type new password:
Adding password for user user1
[[email protected] extra]# cat /usr/local/httpd/conf/htpasswd
user:$apr1$Xh6mrleA$/PHet3mzd4ZKbk7eLTMfH1
user1:$apr1$zK/oShKB$Q7.pLsBHEsphBA6HnCl0E/


重新加载一下httpd的配置
[[email protected] extra]# /usr/local/httpd/bin/apachectl graceful
访问域名检验用户认证设置的结果




域名跳转

httpd设置域名跳转

<VirtualHost *:80>
 ?  DocumentRoot "/usr/local/httpd/docs/abcd.com"
 ?  ServerName abcd.com
 ?  ServerAlias www.abcd.com
 ?  ErrorLog "logs/abcd.com-error_log"
 ?  CustomLog "logs/abcd.com-access_log" common
 ? <IfModule mod_rewrite.c>
 ?  RewriteEngine on
 ?  RewriteCond %{HTTP_HOST} !^111.com$
 ?  RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L]
 ? </IfModule>
</VirtualHost>

IfModule mod_rewrite.c ? 表示需要mod_rewrite模块支持
RewriteEngine ?表示大考rewrite功能
RewriteCond 定义了rewrite跳转的条件
RewriteRule ?定义rewrite规则,满足RewriteCond条件时,会执行这里定义的规则



查看httpd是否加载了rewrite模块,若没有rewrite模块(httpd编译时大都会把这个模块安装上),按照下个步骤加载rewrite

[[email protected] conf]# /usr/local/httpd/bin/apachectl -M |grep rewrite
 rewrite_module (shared)


打开httpd配置文件中的rewrite模块,查找rewrite的模块所在行去掉注释重新加载httpd配置文件即可

[[email protected] conf]# vim httpd.conf
~
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
[[email protected] conf]# /usr/local/httpd/bin/apachectl graceful


测试域名跳转的访问请求,配置文件里指定了301标识,这里的301也表示为域名跳转的标识

[[email protected] conf]# curl -x127.0.0.1:80 http://www.abcd.com -I
HTTP/1.1 301 Moved Permanently
Date: Sun, 29 Jul 2018 17:48:31 GMT
Server: Apache/2.4.33 (Unix) PHP/5.6.37
Location: http://111.com/
Content-Type: text/html; charset=iso-8859-1




httpd日志

httpd日志记录,在主配置文件中查找到LogFormat段的配置,LogFormat这里是让日志以特定形式记录保存,可以在这里自定义日志格式

<IfModule log_config_module>
 ? ?#
 ? ?# The following directives define some format nicknames for use with
 ? ?# a CustomLog directive (see below).
 ? ?#
 ?  LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
 ?  LogFormat "%h %l %u %t \"%r\" %>s %b" common

Referer是记录点击页面请求的信息
User-Agebt是记录访问段浏览器类型的信息



在虚拟主机中定义记录更详细的日志

[[email protected] httpd]# vim conf/extra/httpd-vhosts.conf
-------------------------省略的配置---------------------------------
 ?  ErrorLog "logs/123.com-error_log"
 ?  CustomLog "logs/123.com-access_log" combined ? <---记录模式,更为详细的日志信息
</VirtualHost>


重新加载httpd生效服务的配置
[[email protected] httpd]# /usr/local/httpd/bin/apachectl graceful



对比修改前后记录的日志内容,日志记了客户端访问的浏览器类型,访问页面和操作系统等信息

192.168.1.112 - - [30/Jul/2018:00:56:33 +0800] "GET / HTTP/1.1" 401 381
192.168.1.112 - - [30/Jul/2018:00:57:13 +0800] "GET /favicon.ico HTTP/1.1" 401 381
192.168.1.112 - - [30/Jul/2018:00:57:13 +0800] "GET /favicon.ico HTTP/1.1" 401 381
192.168.1.112 - user [30/Jul/2018:04:39:41 +0800] "GET / HTTP/1.1" 200 7
192.168.1.112 - user [30/Jul/2018:04:44:07 +0800] "GET / HTTP/1.1" 200 7 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"
192.168.1.112 - user [30/Jul/2018:04:44:08 +0800] "GET / HTTP/1.1" 200 7 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"
192.168.1.112 - user [30/Jul/2018:04:44:09 +0800] "GET / HTTP/1.1" 200 7 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"

原文地址:http://blog.51cto.com/8844414/2153771

时间: 2024-10-09 14:56:55

httpd重定向跳转和更详细的日志记录的相关文章

Python 中更优雅的日志记录方案

---恢复内容开始--- 阅读本文大概需要 5 分钟. 在 Python 中,一般情况下我们可能直接用自带的 logging 模块来记录日志,包括我之前的时候也是一样.在使用时我们需要配置一些 Handler.Formatter 来进行一些处理,比如把日志输出到不同的位置,或者设置一个不同的输出格式,或者设置日志分块和备份.但其实个人感觉 logging 用起来其实并不是那么好用,其实主要还是配置较为繁琐. 常见使用 首先看看 logging 常见的解决方案吧,我一般会配置输出到文件.控制台和

php 实现301重定向跳转实例代码

本文主要介绍php 实现301重定向跳转,通过实例代码让大家更好的理解重定向的方法,有需要的小伙伴可以参考下 在php中301重定向实现方法很简单我们只要简单的利用header发送301状态代码,然后再用header进行跳转,效果与apache,iis,nginx都是一样的效果哦. 一:更推荐这种方法,因为它可以把http://www.jb51.net原来所有的url都转到http://jb51.net新的地址上 代码如下: <?php $the_host = $_SERVER['HTTP_HO

Haproxy 的重定向跳转设置 - 运维小结

前面已经详细介绍了Haproxy基础知识 , 今天这里再赘述下Haproxy的重定向跳转的设置. haproxy利用acl来实现haproxy动静分离,然而在许多运维应用环境中,可能需要将访问的站点请求跳转到指定的站点上,比如客户单端访问kevin.a.com需要将请求转发到bobo.b.com或将http请求重定向到https请求,再比如当客户端访问出错时,需要将错误code代码提示请求到指定的错误页面,诸如此类需求实现,这种情况下就需要利用haproxy的重定向功能来达到此目的. 一. Ha

关于HTTP更详细的说明

关于HTTP更详细的说明: HTTP使用URI定位互联网中的资源: URI和URL: URI(统一资源标识符),URL(统一资源定位符). URL就是web浏览器访问Web页面时需要输入的网页地址. URI是某个协议方案表示的资源的定位标识符,协议方案是指访问资源所使用的协议类型名称,采用HTTP协议时,协议方案就是http,除此之外,还有ftp.telnet.file等,标准的有30多个 几个URI的例子: ftp://ftp.is.co.za/rfc/rfc1808.txt http://f

更精简的代码,更详细的注释,让项目更容易维护

更精简的代码,更详细的注释,让项目更容易维护,因为项目的本质不是代码,是算法,是实现步骤, 如果代码不精简,很臃肿,时间久了,具体实现过程会记忆模糊的,代码臃肿,以后是要花费更多时间读的. 有时可以在写的时候,就一边小重构一下,不要等到以后再重构 一精简重构的一些方式: 1抽取方法:抽取常用的功能,可以放到一些综合工具类里 2抽取变量:尤其是对于要用到很多if-else结构里的变量,可以先定义一个空变量,然后根据不同的情况, 进行赋值. 3砍掉变量:一个复杂系统肯定有很多的对象和变量,其实仔细思

springmvc重定向跳转向页面传递参数

springmvc提供了RedirectAttributesModelMap类可以绑定重定向跳转需要向页面传递的值 RedirectAttributesModelMap rModel = new RedirectAttributesModelMap(); rModel.addFlashAttribute("键", 值); RedirectAttributesModelMap继承了ModelMap,实现了RedirectAttributes接口,原理是把属性放到session中,在跳转到

网站建设之网站301重定向跳转及对介绍

在之前我们介绍了网站404页面的制作及作用,今天我们来聊聊网站建设优化中必可可少的网址301重定向跳转. 一. 为什么要做网页301重定向操作?      在网站长期打理运营过程中,肯定会出现一些网址死链接,那么这些死链接势必会对一个网站的浏览量及潜在客户的开发造成影响,我们讲过我们可以通过404页面制作来留下一部分客户继续浏览,当然我们在这里也可以设置301重定向跳转到另一个页面,但是假如进行网站的改版,网站的域名变更,或者新网站的域名权重转化这些操作时,面临众多的死链接产生,显然404页面显

httpd 虚拟主机建立之访问机制及其日志定义

注:关闭防火墙,selinux VirtualHost定义: 基于IP地址VirtualHost: 编辑httpd.conf文件: #DocumentRoot "/web/html"                 #注释主服务配置 下面来建立虚拟主机,如果不在httpd.conf文件内编辑虚拟主机,也可以新建一个虚拟主机文件来工作. 在/etc/httpd/conf.d/下新建虚拟主机配置文件 vim /etc/httpd/conf.d/virtualhost.conf 编辑 <

超详细从零记录Hadoop2.7.3完全分布式集群部署过程

超详细从零记录Ubuntu16.04.1 3台服务器上Hadoop2.7.3完全分布式集群部署过程.包含,Ubuntu服务器创建.远程工具连接配置.Ubuntu服务器配置.Hadoop文件配置.Hadoop格式化.启动.(首更时间2016年10月27日) 主机名/hostname IP 角色 hadoop1 192.168.193.131 ResourceManager/NameNode/SecondaryNameNode hadoop2 192.168.193.132 NodeManager/