【发布时间】:2021-06-23 16:48:11
【问题描述】:
我有一个案例,我想根据查询参数的存在将特定调用代理到不同的后端。以下是我开始的内容
location ~ ^/abc/xyz/?$ {
proxy_pass $backend_url;
}
我想做的是检查查询参数 foo(或者甚至只是该字符串在任何地方的存在)。所以我想我可以做到这一点
location ~ ^/abc/xyz/?$ {
set $backend_url "somelocation"
if ($request_url ~ .*foo.*) {
set $backend_url "someotherlocation"
proxy_pass $backend_url
}
proxy_pass $backend_url;
}
但这似乎并没有真正代理到新位置。我的代码有什么问题,还是整个方法都错了?
【问题讨论】:
标签: nginx