1

私は3つのサーバーを持っています。1 つはロード バランシング用、もう 2 つは Web アプリケーションの提供用です。Web ページを静的サイトとして使用すると、負荷分散が正常に機能します。しかし、Web ページにログインすると、ページが読み込まれるたびにサーバーが変更されるため、正しく応答しません。ログアウトする前に現在のサーバーを変更せずにそれを行うにはどうすればよいですか。私の負荷分散サーバーの構成は

upstream web_backend{
    server 192.168.33.2;
    server 192.168.33.3;
}

server{
    listen 80;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://web_backend;
    }
}
4

1 に答える 1

3

nginx のセッション永続化機能を使用できます。

クライアントを特定のアプリケーション サーバーに関連付ける必要がある場合、つまり、常に特定のサーバーを選択しようとするという点で、クライアントのセッションを「固定」または「永続的」にする必要がある場合は、ip-hash 負荷分散メカニズムを使用できます。使用済み。

ip-hash では、クライアントの IP アドレスをハッシュ キーとして使用して、クライアントの要求に対してサーバー グループ内のどのサーバーを選択するかを決定します。この方法により、同じクライアントからの要求は、このサーバーが利用できない場合を除いて、常に同じサーバーに送信されます。

ip-hash 負荷分散を構成するには、ip_hash ディレクティブをサーバー (アップストリーム) グループ構成に追加するだけです。

ip_hashあなたの場合、上流の定​​義に追加するだけです

upstream web_backend{
    ip_hash;
    server 192.168.33.2;
    server 192.168.33.3;
}
于 2016-03-11T23:20:51.517 に答える