通过nginx+lua 实现修改反向代理后的响应报文和header

本文介绍如何利用nginx的lua模块,在反向代理后修改响应报文和HTTP头。通过ngx.location.capture()函数,配合always_forward_body参数实现对所有请求类型的请求体转发。
摘要由CSDN通过智能技术生成

通过nginx+lua 实现修改反向代理后的响应报文和header
注意使用了子请求ngx.location.capture(), 其中参数always_forward_body = true, 回自动转发父请求中的请求body, 默认为false, 只自动转发put和post的请求体

upstream myapp_backend {
    server  10.xxx.xxx.xxx:xxxx;
	}

log_format  gitv1    '"$remote_addr" "$http_host" "[$time_local]" "$request" '
                    '"$status" "$body_bytes_sent" "$bytes_sent" "$gzip_ratio" "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for" "$upstream_addr" "$upstream_response_time" "$request_time" "$request_body" "$resp_body"';

server {
    listen       10082;
    server_name resp.xxxx.xx;
    access_log  logs/cm_resp_access.log gitv1;
    error_log  logs/cm_resp_error.log;
    lua_need_request_body on;

    location /subreq/ {
	    internal;
	    proxy_pass http://myapp_backend/;
	}
    location /md5j
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值