
クエリ パラメータに基づいてプロキシ パスする方法はありますか? ルート URL リクエストをサーバー A にプロキシ パスする必要があります。ただし、ルート 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;
...
}