1

Nginx をリバース プロキシおよびロードバランサーとして使用したいと考えています。

アプリケーションの 2 つの異なるバージョンを持つ 2 つのサーバーがあります。IE、ユーザーのコンピューターに V1 がある場合、サーバー 1 に移動する必要があります。V2 がある場合、サーバー 2 に移動します。

いくつかの $_GET パラメータを使用して、このコードでユーザーを対応するサーバーにリダイレクトしました (V1 でない場合は V2 です)。

if ($args ~* V=1) {
    proxy_pass http://server1;
    break;
}
proxy_pass http://server2;

これはうまくいきます。しかし、いくつかの AMF リクエストで問題が発生しました (Flash が必要です): $_GET パラメータまたはヘッダーを設定できません。だから私はクッキーを使用しようとしましたが、何も機能していないようです.

if ($http_cookie ~ 'V=1') {
    proxy_pass http://server1;
    break;
}
if ($cookie_VER ~ 'V=1'){
    proxy_pass http://server1;
    break;
}

$_GET パラメータを使用したリダイレクトも必要なため、HttpMapModule を使用できません...

私がやりたいことをする方法はありますか、それとも間違った方向に進んでいますか?

4

1 に答える 1