下面是一个简单的OpenResty配置文件示例,展示了如何使用body_filter_by_lua指令来过滤和修改HTTP响应体。
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 80;
location / {
proxy_pass http://backend_server;
body_filter_by_lua_block {
-- 过滤和修改HTTP响应体
-- 获取完整的响应体内容
local resp_body = ngx.arg[1]
-- 修改响应体内容
resp_body = string.gsub(resp_body, "Hello", "Hi")
-- 将修改后的内容返回给客户端
ngx.arg[1] = resp_body
}
}
}
}
在这个示例中,我们通过body_filter_by_lua_block指令定义了一个Lua代码块,用于过滤和修改HTTP响应体。具体操作包括:
- 使用
ngx.arg表获取和设置完整的响应体内容。 - 在本例中,我们使用
string.gsub函数将响应体中的”Hello”替换为”Hi”。 - 最后,将修改后的内容赋值给
ngx.arg[1],以便返回给客户端。
请根据实际需求进行适当修改和扩展。
内容由零声教学AI助手提供,问题来源于学员提问




