我想知道是否有可能使用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 … } }