传递 URI 查询参数 nginx 反向代理

Passing URI query param nginx reverse proxy

我有一个 post 服务器侦听端口 8081 和示例路径。 我希望能够将整个 URI 查询参数重定向到节点服务。 我应该怎么做。

例如我想要以下 post 请求 url http://exmaple.com/foo/bar?bla=1 to passed to http://example.com:8081/foo/bar?bla=1

这个例子看起来非常简单直接,但就是无法正常工作,ide?

location ^~ /foo/bar {

                rewrite_log on;
                rewrite ^/foo/bar(.*) / break;
                proxy_pass http://example.com:8081/foo/bar;                 
        }

默认情况下proxy_pass不会更改请求URI(包括查询字符串)。您问题中的示例说明了 两种方式 URI 可以在向上游发送之前更改 - 通过将可选 URI 附加到 proxy_pass 语句(参见 this document) or with a rewrite...break statement (see this document).

如果两者都删除,URI 将不受干扰地向上游发送,并且查询字符串保持不变:

location ^~ /foo/bar {
    proxy_pass http://example.com:8081;
}