使用nginx重定向帖子请求

时间:2018-07-04 10:56:47

标签: nginx

我目前正在收到这样的发帖请求:

POST /api/x/y HTTP/1.1

带有请求正文:a = x&b = y等

我想通过以下两种方式之一将请求重定向到另一台服务器:

1. GET x.x.x.x:8888/xy/abc?a=x&b=y

2. POST x.x.x.x:8888/xy/abc with body a=x&b=y

我正在尝试以下两个重定向选项:

1.rewrite ^(.*) http://server/api$request_body redirect;
//this is not sending body params
2. return 307  http://server/api?$request_body;
//this is giving me 400

1 个答案:

答案 0 :(得分:0)

如果您这样做:

location /api/ {
    proxy_pass http://x.x.x.x:8888;
}

然后,对example.com/api/x/y/的请求将被代理到http://x.x.x.x:8888/api/x/y/

如果您这样做:

location /api/x/y/ {
    proxy_pass http://x.x.x.x:8888/xy/abc/;
}

然后,对example.com/api/x/y/的请求将被代理到http://x.x.x.x:8888/xy/abc/

请求方法将保持不变,除非您告诉Nginx对其进行更改。除非您告诉Nginx传递某些标头,否则不会传递它们。