文档章节

Httpd服务入门知识-Httpd服务常见配置案例之日志设定

o
 osc_zoa3moe9
发布于 2019/12/08 06:24
字数 1220
阅读 5
收藏 0

精选30+云产品,助力企业轻松上云!>>>

          Httpd服务入门知识-Httpd服务常见配置案例之日志设定

                                                作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

一.日志类型

[root@node101.yinzhengjie.org.cn ~]# ll /var/log/httpd/    #默认存放httpd服务的日志的信息
total 16
-rw-r--r-- 1 root root 4895 Dec  8 08:11 access_log      #访问日志,记录了谁访问网站以及访问的PATH信息,服务端响应状态码等,利用该日志信息可以计算PV,UV,IP地址统计等信息。
-rw-r--r-- 1 root root 5659 Dec  8 08:11 error_log       #错误日志,记录了服务启动的相关,访问被拒绝等相关信息
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf | grep ErrorLog      #主配置文件默认定义错误日志位置信息
ErrorLog "logs/error_log"
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf | grep CustomLog      #主配置文件默认定义访问日志位置信息
    CustomLog "logs/access_log" combined
[root@node101.yinzhengjie.org.cn ~]# 

 

二.错误日志相关配置

错误日志:
  ErrorLog logs/error_log
  LogLevel warn
  LogLevel 可选值: debug, info, notice, warn,error, crit, alert, emerg

 

三.访问日志相关配置

[root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf | grep combined      #查看默认的日志格式
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    CustomLog "logs/access_log" combined
[root@node101.yinzhengjie.org.cn ~]# 

以上默认日志格式变量combined的参数解释:
    %h:
      远程客户端IP地址
    %l:
      远程用户,启用mod_ident才有效,默认没有启用,因此在日志中咱们通常看到记录为减号"-"      
    %u: 
      通过用户名密码的方式(401)验证(basic,digest)远程用户,并将用户名记录在日志中,非登录访问时,为一个减号"-"      
    %t:
       服务器收到请求时的时间,可以使用"%(format)t"来自定义时间格式哟~
    %r: 
      First line of request,即表示请求报文的首行;记录了此次请求的"方法""URL"以及协议版本,如:GET /news/blog.html HTTP/1.1
    %>s: 
      响应状态码,如:200,304,403等。
    %b:
      响应报文的大小(说白了就是访问服务器资源文件的大小),单位是字节;不包括响应报文http首部
    %{Referer}i:
      请求报文中首部"referer"的值;即从哪个页面中的超链接跳转至当前页面的。
      如果发现从百度页面跳转过来的说明你们公司广告投放效果不错,如果日志记录的是"-",则表示用户直接访问了你们公司的网站,应该是你们公司的铁粉了。
      如果你们发现该记录是从你们公司的竞争对手或者毫不相干的网站来访问的话请注意这就说明你得资源被盗链啦~
      关于防盗链的几种解决方案如下:
        (1)修改资源的名称
        (2)封停公网IP地址(这种做法杀敌一千,自损八百不推荐大家这样干,比如你封停的是一个电信的公网IP地址,假设典型公司有200家公司都走了这个网关地址出去的话,你封停了该IP后的确想要盗链的用户访问不到啦,但这不意味你讲很多正常用户也都封停啦)
        (3)重定向解决,比如可以将不正常的访问重定向登录界面,用户登录成功后,立即将该用户拉入黑名单中,当然这得让开发来配合。可以用到的技术栈可参考Kafka,Spark,Fink等大数据技术。
    %{User-Agent}i:
      请求报文中首部"User-Agent"的值;即发出请求的应用程序,比如火狐浏览器,谷歌浏览器或者是curl命令以及自己编写的应用程序等。

 

四.自定义访问日志的格式

访问日志:
  定义日志格式:LogFormat format strings
  LogFormat "%h %l %u %{%Y-%m-%d %H:%M:%S}t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" testlog
  使用日志格式:
    CustomLog logs/access_log testlog

  博主推荐阅读:
    http://httpd.apache.org/docs/2.4/mod/mod_log_config.html#formats

1>.在主配置文件中自定义日志格式并重启服务

[root@node101.yinzhengjie.org.cn ~]# grep testlog /etc/httpd/conf/httpd.conf 
    LogFormat "%h %l %u %{%Y-%m-%d %H:%M:%S}t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" testlog
    CustomLog "logs/access_log" testlog
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# httpd -t
Syntax OK
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# systemctl restart httpd
[root@node101.yinzhengjie.org.cn ~]#

2>.测试配置是否生效

[root@node101.yinzhengjie.org.cn ~]# ll /var/www/html/
total 12
-rw-r--r-- 1 root root 37 Dec  7 09:31 index.html
-rw-r--r-- 1 root root 31 Dec  7 15:11 info.html
-rw-r--r-- 1 root root 19 Dec  7 15:12 student.html
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# cat /var/www/html/index.html 
https://www.cnblogs.com/yinzhengjie/
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# curl http://127.0.0.1/
https://www.cnblogs.com/yinzhengjie/
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# tail -1 /var/log/httpd/access_log 
127.0.0.1 - - 2019-12-09 05:14:28 "GET / HTTP/1.1" 200 37 "-" "curl/7.29.0"
[root@node101.yinzhengjie.org.cn ~]#
o
粉丝 1
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Httpd服务入门知识-Httpd服务常见配置案例之实现用户家目录的http共享

          Httpd服务入门知识-Httpd服务常见配置案例之实现用户家目录的http共享                                               ...

osc_ed4c5zv7
2019/12/08
1
0
Httpd服务入门知识-在centos 7.6编译安装httpd-2.4

        Httpd服务入门知识-在centos 7.6编译安装httpd-2.4                                   作者:尹正杰 版权声明:原创作品,谢绝转载!否...

osc_y6fgvviz
2018/01/23
1
0
linux入门系列18--Web服务之Apache服务1

前面系列文章讲解了Linux下通过文件传输、文件共享、邮件系统来分享和获取资源,本文讲解网络资源获取和共享的另外一种形式,通过Apache服务程序来提供Web服务。 本文先讲解目前主流的Web服务...

osc_o60il3e6
04/16
1
0
httpd服务的简单配置

大纲: 1.httpd服务的安装 2.主配置文件/etc/httpd/conf/httpd.conf常见选项简介 3.basic认证的实现 4.基于ip,port和FQDN的虚拟主机的实现 5.实现ssl加密的http服务 6.简单的压力测试 7.关于...

powerlife
2016/11/07
0
0
linux入门系列18--Web服务之Apache服务1

前面系列文章讲解了Linux下通过文件传输、文件共享、邮件系统来分享和获取资源,本文讲解网络资源获取和共享的另外一种形式,通过Apache服务程序来提供Web服务。 本文先讲解目前主流的Web服务...

黑马腾云
03/23
14
0

没有更多内容

加载失败,请刷新页面

加载更多

PO设计模式-实现移动端自动化测试

开发环境:python 3.6.5 + selenium 2.48.0 + pytest框架 + Android 5.1 工具:pycharm + Appium + Genymotion 测试机型:Samsung Galaxy S6 #需求:设计3个测试用例#1.实现点击设置->显示-...

osc_cl1ufvfd
7分钟前
0
0
Android之TabLayout和ViewPager组合跳转到指定页面

1 问题 TabLayout和ViewPager组合跳转到具体一个页面 2 解决办法 viewPager?.setCurrentItem(index) index为0说明是第一页,如果是1的话就是第二页,以此类推。...

osc_w4g8kpwc
9分钟前
0
0
Android之解决多语言适配部分TextView内容左对齐和内容一行不排满就到第二行问题

1 问题 1、多语言适配部分TextView内容左对齐 2、内容一行不排满就到第二行问题 2 解决办法 问题1、在TextView里面加入下面参数 android:gravity="center" 问题2、 import android.conte...

osc_u61lmlkv
10分钟前
0
0
SpringBoot2.0+Shiro+MyBatisPlus权限管理系统

项目描述 Hi,大家好,今天分享的项目是《SpringBoot+Shiro权限管理系统》,这是一个SpringBoot+Layui后台管理系统,使用Shiro安全框架,加入访问权限,对不同角色有不同的访问权限,其他管理...

ericxu1116
11分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部