gpt4 book ai didi

nginx - nginx 反向代理导致 POST 请求正文丢失

转载 作者:行者123 更新时间:2023-12-02 01:37:58 25 4
gpt4 key购买 nike

我使用 nginx 作为 http 服务的反向代理,使用如下配置:

location /jobexecutor/ {
proxy_pass http://jobexecutor:8080/jobexecutor/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_connect_timeout 75s;
}

GET 请求可以正常代理到服务,但是当我使用 POST 时,请求可以正常代理到服务,但正文为空。当直接发布到服务时,它工作正常。任何想法出了什么问题吗?

最佳答案

您找到了解决方法,但我怀疑不是根本原因。

根据 RFC7231一个已知问题是,301 和 302 服务器响应通常会导致请求方法的转换,而这些方法不是 safe遵循重定向时的 GET 请求。

正常的 proxy_pass 对客户端来说应该是透明的,因此听起来 Nginx 配置的其他部分在请求被代理之前首先执行一些客户端重定向。

一旦确定发生这种情况的位置,您可以重新配置 Nginxconf 以消除重定向,或者将 301/302 响应代码分别更改为 307/308,这会在保持原始请求方法的同时进行重定向。

关于nginx - nginx 反向代理导致 POST 请求正文丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52383069/

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