gpt4 book ai didi

nginx - 如何使用 nginx 读取和操作 POST 请求变量?

转载 作者:行者123 更新时间:2023-12-03 01:45:27 25 4
gpt4 key购买 nike

我正在使用 nginx (v1.4.1) 代理外部服务,但希望能够在代理之前检查并可能修改 POST 请求的正文。问题是,我目前无法在处理请求时访问 POST 请求正文,无论是通过 $request_body 变量还是其他方式。

我已经阅读了许多帖子和SO问题,并且已经实现了this suggested strategy ,其目的是允许记录 POST 主体(当使用 proxy_pass 指令时)。但是,虽然这对我有用,但在处理请求期间我仍然无法从 $request_body 读取任何内容。

为了清楚起见,这是我的配置的相关部分:

location /proxy-this/ {
client_max_body_size 8k;
client_body_buffer_size 16k;
client_body_in_single_buffer on;
proxy_pass https://example.com/external-endpoint/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header Content-Length '';
}

我希望能够做什么:

location /proxy-this/ {
... (same configuration as above) ...
set $request_body $request_body&extra_param=1;
}

我知道使用 nginx_lua 模块可以做到这一点,并且已经查看了 HttpFormInputModule,但第一个似乎有点过分,而后者尚未更新一会儿。

最佳答案

您是否尝试过使用 proxy_set_body

就像这样

location /proxy-this/ {
... (same configuration as above) ...
proxy_set_body $request_body&extra_param=1;
}

关于nginx - 如何使用 nginx 读取和操作 POST 请求变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19944279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com