zoukankan      html  css  js  c++  java
  • 设定Apache的*及输出内容过滤器(替换)二、抄袭来的过滤器

    上一篇是如何开启相关的模块的,这篇说说ext_filter 过滤器。码字很费劲,直接搬了一篇老外的《在 Apache 2.4 上建立一个 mod_ext_filter 过滤器》并做了简单的翻译。

    该文中把过滤器放在 httpd.conf 中,其实放到指定的 httpd-filter.conf 文件中更适合;<Location> 部分应该放在虚拟机配置文件中,这样方便修改。

     此外,如果过滤器不起作用,则可能是传输的数据是压缩的或者是内容被加密了。小概率的是 apache 的bug 。。。

    https://www.apachelounge.com/viewtopic.php?p=39571

    译文如下

    原文 http://masscto.blogspot.com/2016/10/building-modextfilter-on-apache-24.html

    在 Apache 2.4 上建立一个 mod_ext_filter 过滤器

    2016年10月12日星期三

    mod_ext_filter 手册 https://httpd.apache.org/docs/2.4/mod/mod_ext_filter.html

    使用 mod_ext_filter,我们可以编写处理传入HTTP请求和传出HTTP响应的外部程序。当这样使用程序时,它们称为 过滤器。下图描述了这个想法:

    在 httpd.conf 加入以下代码激活过滤器,此代码位于httpd.conf文件的顶层,即不嵌套在任何其他内容中。

    <IfModule mod_ext_filter.c>
    ExtFilterDefine myfilter mode=output
    intype=text/xml outtype=text/xml
    cmd="/usr/local/bin/php
    /home/rapicour/public_html/filtertest.php"
    </IfModule>

    ExtFilterDefine 指令为过滤器命名,在此示例中为 myfilter
    mode 属性告诉Apache模块是处理请求(输入过滤器)还是处理响应(输出过滤器)。在此示例中正在实现一个输出过滤器,从而在HTTP响应传递到客户端之前捕获并处理它们。
    intype 属性指定过滤器处理哪种MIME类型文件。在此示例中为 text/xml 的文件。请注意,intype属性(预先定义)将过滤器限制为仅对基于XML的响应起作用。
    outtype 属性指定过滤器产生的类型(MIME)。如果没有指定,outtype被认为是intype一样的类型(MIME)
    cmd 属性指定执行外部程序。我们的示例使用名为filtertest.php的PHP程序实现了过滤器。需要使用绝对路径。

    <IfModule>部分大概就这些属性,用</IfModule>完成这些设置。然后在<Location>标签中添加以下行告诉Apache使用指定的过滤器来处理响应。

    <Location "/vhosts">
    SetOutputFilter myfilter
    # Header set Content-Encoding gzip
    </Location>

    <Location> 指令告诉Apache将给定的 myfilter 过滤器应用于那个目录的所有文件。在这种情况下,我们指定“ /”或Web服务器的根目录。

    更新httpd.conf文件后,请确保重新启动服务器。

  • 相关阅读:
    c#查找窗口的两种办法
    也说自动化测试
    定位bug的基本要求
    c#调用GetModuleFileNameEx获取进程路径
    对比PG数据库结构是否一致的方法
    C#调用endtask
    提bug
    接口测试的结果校验
    ProcessExplorer使用分享
    C++如何在r3静态调用NT函数
  • 原文地址:https://www.cnblogs.com/yisuo/p/14118411.html
Copyright © 2011-2022 走看看