
Есть ли способ проксировать передачу на основе параметров запроса? Мне нужно проксировать передачу запроса root url на сервер A. Но если root url имеет определенные параметры запроса, мне нужно проксировать передачу на сервер B. Как этого добиться? Ниже приведена моя текущая конфигурация:
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;
}
решение1
Вы можете использовать if
операторы и промежуточные переменные, поскольку proxy_pass
само по себе не может находиться внутри if
оператора.
location / {
set $pp_d example.net;
if ($arg_tld = com) {
set $pp_d example.com;
}
proxy_pass http://$pp_d;
proxy_redirect off;
...
}