私は負荷分散にまったく慣れていないので、Amazon の Elastic Load Balancer をサブドメインでうまく機能させるのに問題があります。
ロード バランサーの背後に 2 つの EC2 サーバーがあります。mydomain.comとwww.mydomain.comにアクセスすると、2 つの URL が異なる EC2 サーバーから提供されます。セッションが正しく機能するように、www.mydomain.comとmydomain.comの両方を同じサーバーから提供する必要があります。
次のように、ロードバランサーの「スティッキーネス」を LBCookieStickinessPolicy に設定しています。
そして、私の 2 つの EC2 インスタンスは両方ともロード バランサーの背後で「サービス中」です。
トラブルシューティングに役立つかどうかはわかりませんが、Apache の構成は次のようになります。
Firebug でセッションを表示すると、次のように表示されます...
mydomain.com の場合:
www.mydomain.com の場合 (追加の「www.」に注意してください)
理由はわかりませんが、www.mydomain.com の Cookie を表示すると、実際には 2 つの AWSELB Cookie が設定されています。
私は Zend Framework を使用しており、cookie_domain を次のように設定しています。
Zend_Session::start(array('cookie_domain' => '.mydomain.com'));
これは、負荷分散された 2 つの EC2 サーバーにサイトを移動する前は、問題なく機能していました。私たちのサイトでは、api.mydomain.com や my.mydomain.com などのいくつかのサブドメインを使用しているため、cookie_domain が重要になります。そして、確かに、これは問題ないかもしれません。サブドメイン間でロード バランサ セッションが「スティッキー」に機能するようになると、セッション変数が期待どおりに機能する可能性が非常に高くなります (願わくば!)。
「www.」がドメイン名に追加されますか?
ありがとう!