需求描述
Nginx在反向代理请求之前,对Post请求体的内容进行修改,添加额外的字段内容。这里POST请求的Content-Type的值为application/x-www-form-urlencoded。
实现
安装OpenResty,使用Lua扩展功能实现,具体代码如下,
location /serviceA {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' '*';
rewrite_by_lua_block {
local cjson = require "cjson"
ngx.req.read_body()
local args = ngx.req.get_post_args()
ngx.log(ngx.DEBUG, cjson.encode(args))
args['secret'] = "7W0XLF"
ngx.log(ngx.DEBUG, cjson.encode(args))
local data = {}
for i, v in pairs(args) do
table.insert(data,