
Existe uma maneira de passar proxy com base em parâmetros de consulta? Preciso passar por proxy a solicitação de URL raiz para o servidor A. Mas, se o URL raiz tiver determinados parâmetros de consulta, preciso passar por proxy para o servidor B. Como posso conseguir isso? Abaixo está minha configuração atual:
location / {
proxy_pass http://xxxxxx;
proxy_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
}
Responder1
Você poderia usar if
instruções e variáveis intermediárias, uma vez que proxy_pass
não pode estar dentro de uma if
instrução.
location / {
set $pp_d example.net;
if ($arg_tld = com) {
set $pp_d example.com;
}
proxy_pass http://$pp_d;
proxy_redirect off;
...
}