nginx 中基於查詢參數的代理傳遞

nginx 中基於查詢參數的代理傳遞

有沒有辦法根據查詢參數進行代理傳遞?我需要將根 url 請求代理傳遞到伺服器 A。以下是我目前的配置:

    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;
    ...
}

相關內容