小生博客:http://xsboke.blog.51cto.com

   

 

 

                              -------谢谢您的参考,如有疑问,欢迎交流


一、 Apache日志分割

   这里介绍两种分割方法:


    • Rotatelogs:每天建立一个新的日志文件

    • Cronolog:可以为每个虚拟主机创建一个文件,每天产生的日志文件统一存放在一个目录中,如果目录不存在则自动创建

1. 使用apache自带工具rotatelogs进行

     修改主配置文件,将原有的日志选项修改即可

     

     

     然后重启httpd服务即可

  2. 使用第三方工具cronolog实现

     首先安装cronolog工具

     wKiom1jzCnWD2vxzAADY_FiVGOI520.jpg

     然后修改httpd.conf主配置文件

     wKioL1jzConw8wrvAAB1mE07IVM507.jpg


     


     wKioL1jzCoyAh1vIAACOMtsQwGU650.jpg

     然后重启httpd服务即可



    • 其他的配置例

        每天一个文件夹,文件夹下每个小时产生一个log(文件夹不存在则自动创建)

      CustomLog "|/usr/local/sbin/cronolog logs/%Y%m%d/access_log.%H" combined

        按天轮询(生产环境常见用法,推荐使用):

        CustomLog "|/usr/local/sbin/cronolog logs/access_www_%Y%m%d.log"combined

        按小时轮询(生产环境较常见用法):

        CustomLog "|/usr/local/sbin/cronolog logs/access_www_%Y%m%d%H.log" combined

二、 配置防盗链

   有两种方式:


    • 使用apacherewrite模块实现:这个方法可以让盗链链接到自己指定的一个文件,巧妙利用这种方法,可以实现让盗链免费为自己打广告的目的

    • 通过判断浏览器头信息来阻止某些请求,即利用SetEnvIfNoCaseaccess,这种方法将直接拒绝访问,而不是重定向到某个文件

1. 通过rewrite模块实现

     修改httpd.conf主配置文件,首先启用rewrite模块,然后添加相关参数

     

     添加相关参数

     apache2.4:参数优化(二)_第1张图片



    • RewriteCond:指定条件

    • RewriteRule:匹配规则

    • [NC]:不区分大小写

    • [R]:强制重定向redirect

    • [L]:如果在规则的尾部加此参数,则代表这是最后一个规则,匹配到这里就停止

 然后重启httpd服务即可

  2. 通过判断浏览器头信息来阻止某些请求,即利用SetEnvIfNoCaseaccess

    此配置就是拒绝请求头部referer信息不匹配的请求

    一样是修改主配置文件

    apache2.4:参数优化(二)_第2张图片



    • Setenvifnocase  referer:设置如果请求头部referer参数信息不匹配时

    • Local_ref:将条件赋予给这个变量

    •    :设置当访问以这些为后缀的文件时的规则

    • Require all denied    Requireenv local_ref:拒绝所有非变量local_ref条件的请求访问

 

    最后重启服务即可