Apache拦截一些http请求

Apache intercept some http Requests

本文关键字:http 请求 Apache      更新时间:2023-10-16

我想用Apache设置一个代理,它拦截一些传出的流量,并在满足过滤器时调用第三个应用程序。

例如,如果ip为10.0.0.13的设备发送:

得到//01. png图像主持人:myinterestingdomain.com

那么Apache应该执行以下操作之一:

  • 直接调用可执行文件并发送请求&ip作为参数
  • 将请求回显到应用程序正在侦听的端口,并且也包括ip.
  • 任何触发我的应用并发送信息

我想应该有一个简单的解决方案。基本上:"如果请求满足我的(regex)条件,执行此操作"。

顺便说一句。我的应用程序是用c++编写的

您可以编写自己的apache httpd过滤器。文档是有点稀疏,但这应该让你开始。

在Apache服务器中提供了多种过滤方式。你可以直接输入mod_ext_filter

调用本地可执行文件。但是速度很慢。不建议用于实际服务系统。此外,您可以使用mod_so,您需要使用APACHE API进行编程。

创建过滤器也可以解决这个问题,但这绝对是最长的路径。

我发现apache有一个叫做管道日志的功能。它们做的事情也很方便:它们将所有请求发送到我的应用程序,然后我将使用regex过滤请求。

看到:

http://httpd.apache.org/docs/current/logs.html管道

thx .