您的位置 首页 Nginx

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

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

例如,我希望将以下发布请求网址http://exmaple.com/foo/bar?bla=1传递给http://example.com:8081/foo/bar?bla=1

它看似非常简单直接的示例,但无法正常运行,有什么想法吗?

location ^~ /foo/bar {

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

最佳答案
默认情况下proxy_pass不会更改请求URI(包括查询字符串).您的问题中的示例说明了在向上游发送URI之前可以对其进行更改的两种方法-通过将可选URI附加到proxy_pass语句(请参阅this document)或使用rewrite … break语句(请参见this document)来进行.

如果同时删除两者,则URI将在不干扰的情况下向上游发送,并且查询字符串完整无缺:

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

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章