0
私は、クライアントからの "customerlocale"ヘッダーからのバージョンに基づいて異なるアップストリームをルーティングしようとしています。これはconfigの下で動作していません。これを行うにはいくつか考えてください。nginx proxy_passの条件
server {
listen 80 default;
location/{
if ($http_customerlocale = en) {
proxy_pass http://upstream-en;
}
if ($http_customerlocale = de) {
proxy_pass http://upstream-de;
}
}
}
位置ブロックの中に 'if' **があることに気づいていると仮定すると、あなたのロケールを大文字と小文字を区別しない正規表現と照合することを検討することができます。例えば、' if($ http_customerlocale〜* "en") ' –
@KeenanLawrence、返事ありがとうございました。私はこれを試して、 "if"条件のチェックが機能していない。このようにしてみました。 は$ v "2"を設定します。 if($ v = "2") { proxy_pass http:// upstream-2; } それは状態の中に入っていません。 –
と私のnginxバージョンは1.4.6です。 –