
¿Hay alguna manera de pasar el proxy según los parámetros de consulta? Necesito pasar la solicitud de URL raíz por proxy al servidor A. Pero, si la URL raíz tiene ciertos parámetros de consulta, necesito pasar por proxy al servidor B. ¿Cómo puedo lograr esto? A continuación se muestra mi configuración actual:
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;
}
Respuesta1
Podrías usar if
declaraciones y variables intermedias, ya que proxy_pass
él mismo no puede estar dentro de una if
declaración.
location / {
set $pp_d example.net;
if ($arg_tld = com) {
set $pp_d example.com;
}
proxy_pass http://$pp_d;
proxy_redirect off;
...
}