我们如何在Nginx中将请求的请求参数与字符串数组进行比较

时间:2018-10-01 07:51:00

标签: nginx

在Nginx中,我们可以像这样比较请求的请求参数。

location / {
if ( $arg_cmd = "export_query" ) {
    add_header x-served-from "replica";
    proxy_pass http://replica-first;
    break;
}
...

当前,我们正在尝试将带有某些特定参数的请求重定向到其他服务器。这些参数有数百个。

如何对nginx中的数组进行参数匹配?

1 个答案:

答案 0 :(得分:0)

map $arg_cmd $replica {
  "export_query" replica-first;
}

server {
  ...
  location / {
    if ($replica) {
      add_header x-served-from $replica;
      proxy_pass http://$replica;
      break;
    }
  }
  ...

map上的文档为here

注意:在proxy_pass中使用变量将需要resolver