在发送响应到客户端GET请求之前,如何使用nginx检查整个正文

时间:2019-01-24 15:00:22

标签: nginx filter

此问题与HTTP GET请求的处理有关。下面提到的主体是响应主体(不是请求主体)。

我正在寻找一种使用nginx的方法,以便根据检查结果在返回标头和响应之前检查整个响应正文。

我已经研究了子模块过滤器http://nginx.org/en/docs/http/ngx_http_sub_module.html,但是实现的模式不能出于我的目的重复使用。 我还研究了示例模块https://www.nginx.com/resources/wiki/extending/examples/body_filter/,但无法使该模块正常工作。从主体过滤器返回错误代码为时已晚,并且在发送200标头后,请求被卡住。

我要实现的目标如下:     -保留客户要求并执行以下检查处理程序       (可以是异步处理程序)

- Receive the response header (do not forward it yet) 

- Receive and inspect/parse the response body 

- Depending on the result of the inspection: pass/fail 

  + pass: 

    * send the response header to the client, 

    * send the response body buffers to the client 

  + fail: 

    * send an error code response header to the client, 

    * discard the response body buffers 

预先感谢

0 个答案:

没有答案