прокси-пропуск на основе параметров запроса в nginx

прокси-пропуск на основе параметров запроса в nginx

Есть ли способ проксировать передачу на основе параметров запроса? Мне нужно проксировать передачу запроса 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;
    ...
}

Связанный контент