在Nginx+Lua的环境下,怎样在响应数据返回前,替换部分数据?

【字号: 日期:2022-07-22浏览:31作者:雯心

问题描述

如题...搭建nginx+lua-nginx-module模块的环境

访问网址/abc,返回a.html的数据

但是在返回数据前需要将a.html里面的<p>111</p>替换为<p>222</p>

请问一下这个Lua能做到吗?

目前做过的尝试是在body_filter_by_lua_file的ngx.arg[1]里尝试获取返回数据但是获取不到...返回数据应该在什么获取和处理呢?

问题解答

回答1:

肯定是可以做的,这就相当于用lua进行dom操作,我相信网上肯定有现成的dom库,没有自己也可以写一个。第二个问题,我不是很了解

回答2:

我准备尝试用lua-resty-http或者ngx.location.capture来发送一个请求,将返回来的结果修改了,再返回数据

回答3:

如果是单纯地做替换,可以使用 Nginx 的 ngx_http_sub_module 模块

相关文章: