ロードバランサ環境下でのCookieを利用したセッション維持がAndroidでうまくいかないかも?
まだ調査中ですが、Android端末で不思議な挙動がありました。
起きている事象としては以下となります。
- ロードバランサ配下にWEBサーバーを複数台立ち上げ(Apache + PHP)
- ロードバランサーはレイヤー7(L7)*1で分散処理 COOKIEを利用してのセッション維持
- HTML内にてVIDEOタグにてmp4動画を配信
通常この環境では、ブラウザからアクセスした時点でWEB1にアクセスが振り向けられると、COOKIEを利用してアクセスは固定され、その端末では常にWEB1にアクセスされるはずです。
しかし、Android端末の場合、なぜか、Videoタグ内の動画へのアクセスがWEB2に行ってしまい、セッション維持がうまくできない場合が発生しました。
原因の予測
まだ詳しく調べていないですが、Androidでは動画プレイヤーが端末によって異なるのですが、ブラウザとは別にCOOKIEが管理されている(される場合がある)ような気がします。 そうだとすると、なんとなく起きていることも納得できるのですが、どうなんでしょう?
今のところiOSやPCブラウザではこの現象は起きていません。
引き続き調べますが、どなたか、同じ現象が起きた方や、原因・解決方法がわかる方は、是非コメントお願いいたします。
*1:URLやHTTPヘッダーで負荷分散が可能