如何在 HTTP 请求到达服务器之前根据 body 对其进行过滤?

How to filter HTTP requests based on body before they get to the server?

我正在使用 nginx 在某些请求到达我的服务器之前对其进行过滤,因为其中大部分是不感兴趣的,并且我不想扩展我的服务器来处理所有请求,当我实际上只对其中的一小部分感兴趣。扩展 nginx 更便宜。

问题是 nginx 没有 (afaik) 动态配置,我们现在只根据请求参数和原始 IP 地址进行基本过滤。

是否有任何类似 nginx 的软件我可以(可能)使用上述两种功能(即动态配置和全能过滤,如请求正文中的正则表达式)?

我开始测试 OpenResty 的 lua 脚本功能,但对我来说这看起来像是一团乱麻。对此有何看法?

实际上,OpenResty 似乎是一种不错的方法。更多信息:http://www.scalescale.com/scaling-cloudflares-massive-waf/.