passagem de proxy baseada em parâmetros de consulta no nginx

passagem de proxy baseada em parâmetros de consulta no nginx

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 ifinstruções e variáveis ​​intermediárias, uma vez que proxy_passnão pode estar dentro de uma ifinstrução.

location / {
    set $pp_d example.net;
    if ($arg_tld = com) {
        set $pp_d example.com;
    }
    proxy_pass http://$pp_d;
    proxy_redirect off;
    ...
}

informação relacionada