如何使用GET参数设置Nginx负载均衡器?

我想知道是否有可能使用GET参数在两台服务器之间做出决定。

谢谢

您需要使用if语句才能根据查询参数进行决策。 但是,由于proxy_pass指令在if块内部使用不安全 ,因此需要将请求重写到其他位置。 例如:

 location /foo { if ($arg_test = "testing") { rewrite . /testing; } } location /testing { internal; proxy_pass http://localhost:8080; } 

你尝试使用if$request_uri吗?

 location / { if ($request_uri = "/s?q=test") { proxy_pass … } } 

不过,我会build议反对以上。 更好的方法是使用location$arg_ ,并根据逻辑请求进行过滤,而不是使用完整的GET请求string:

 location = /s { if ($arg_q = "test") { proxy_pass … } }