ここではシナリオを示します。ロードバランサIPを指し示す複数のドメインを持つ複数の負荷分散サーバーがあります。ウェブサイトはアクセスしたドメインに応じて異なるスキンを表示します(これはうまくいきます)。私はスティッキーセッションを使用してロードバランスとのセッションを保証するために、問題は私が知っている(それほどではない)私は、クッキーのドメインを定義する必要がありますが、我々は複数の可能なドメインを持って..私は、 Webサーバ:我々は複数のドメインを持っているので複数のドメインとのロードバランシングのためのスティッキセッション
RewriteEngine On
RewriteRule .* - [CO=BALANCEID:balancer.lb1:.domain1.com]
、私は、それに対処するだろう、私は、各ドメインとApacheの書き換えルールを追加すると考えていた。このような何か:
RewriteEngine On
RewriteRule .* - [CO=BALANCEID:balancer.lb1:.domain1.com]
RewriteRule .* - [CO=BALANCEID:balancer.lb1:.domain2.com]
RewriteRule .* - [CO=BALANCEID:balancer.lb1:.domain3.com]
RewriteRule .* - [CO=BALANCEID:balancer.lb1:.domain4.com]
しかし、あなたはおそらく持っているように今では分かっているように、スティッキーセッションはdomain1.comの場合にのみ正常に動作します。これはリストの最初のものです。
これに対処する方法はありますか?
編集:私は今、このアプローチしようとしています
:、
RewriteEngine On
RewriteCond %{HTTP_X_FORWARDED_HOST} ^(www\.)?domain1\.com/ [NC]
RewriteRule .* - [CO=BALANCEID:balancer.lb2:.domain1.com] [L]
RewriteCond %{HTTP_X_FORWARDED_HOST} ^(www\.)?domain2\.com/ [NC]
RewriteRule .* - [CO=BALANCEID:balancer.lb2:.domain2.com] [L]
RewriteCond %{HTTP_X_FORWARDED_HOST} ^(www\.)?domain3\.com/ [NC]
RewriteRule .* - [CO=BALANCEID:balancer.lb2:.domain3.com] [L]
をするが、そのがまったく機能していないが、これらのルールが誤って書かれているか、単に文句を言わない仕事ロジック ?
PS:HTTP_X_FORWARDED_HOSTではなくHTTP_HOSTでも試しましたが、同じ結果が出ました。
本当にスティッキーセッションが必要ですか、サーバー側(データベース/ NFSなど)でセッションを共有しないのはなぜですか? – regilero
私は両方のサーバー上のphp.iniのsession.save_pathをNAS上のいくつかの共有場所に設定しようとしましたが、セッションが一貫していないため、ページを再読み込みするとユーザーがログに記録され、それ以外はphp.iniの設定を除いて行う必要がありますか? – Julien