下面是一个简单的OpenResty配置文件示例,展示了如何使用header_filter指令来过滤和修改HTTP响应头部。
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 80;
location / {
proxy_pass http://backend_server;
header_filter_by_lua_block {
-- 过滤和修改HTTP响应头部
-- 删除特定的响应头
ngx.header["X-Powered-By"] = nil
-- 添加自定义的响应头
ngx.header["Custom-Header"] = "Hello, OpenResty!"
-- 修改已有的响应头值
local content_type = ngx.header["Content-Type"]
if content_type and content_type == "text/plain" then
ngx.header["Content-Type"] = "application/json"
end
}
}
}
}
在这个示例中,我们通过header_filter_by_lua_block指令定义了一个Lua代码块,用于过滤和修改HTTP响应头部。具体操作包括:
- 使用
ngx.header表访问、修改和删除HTTP响应头部。 - 通过设置为nil来删除特定的响应头,例如删除”X-Powered-By”字段。
- 使用
ngx.header["Custom-Header"]添加自定义的响应头。 - 通过获取并修改
ngx.header["Content-Type"]来修改已有的响应头值,将”text/plain”改为”application/json”。
请根据实际需求进行适当修改和扩展。
内容由零声教学AI助手提供,问题来源于学员提问




