0

Java バックエンドを持つFlex アプリケーションがあり、途中で BlazeDS を使用しています。
Tomcat を Java アプリケーション サーバーとして使用します。Tomcat は、物理サーバーまたは仮想サーバーでアプリを自己ホストするクライアント ベースで問題なく動作します。

AWS の新しいインスタンスにデプロイをセットアップしました。インスタンス自体からアプリケーションを正常にヒットできますが、自宅と職場のマシンのブラウザーでパブリック DNS を介してヒットすると、次のメッセージが表示されます。

重複した HTTP ベースの FlexSession が検出されました。これは通常、リモート ホストがセッション Cookie を無効にしていることが原因です。クライアント接続を正しく管理するには、セッション Cookie を有効にする必要があります。

クライアント側のログにはもう少し情報があり、エラーが発生する前に 2 つの呼び出しが行われていることがわかります。

6:58:01:542 pm  [INFO] au.com.esriau.dekho.business.AbstractDelegate  - calling SessionService.getSessionInfo
6:58:01:543 pm  [DEBUG] au.com.esriau.dekho.business.AbstractDelegate  - args: (Array)#0
  [0] "0A86A336:0137C62A4BBD:ADB6:1191EBC5"
6:58:01:544 pm  [INFO] au.com.esriau.dekho.view.original.CoordinatesView  - initilization
6:58:01:545 pm  [INFO] au.com.esriau.dekho.business.AbstractDelegate  - calling ConfigurationService.getCoordinateSystems
6:58:01:545 pm  [DEBUG] au.com.esriau.dekho.business.AbstractDelegate  - args: (Array)#0
  [0] "0A86A336:0137C62A4BBD:ADB6:1191EBC5"
6:58:01:546 pm  [INFO] au.com.esriau.dekho.view.original.ScaleView  - initilization
6:58:01:991 pm  [ERROR] au.com.esriau.dekho.utilities.AlertUser  - a fault has occurred
    - Fault Details:
    - Fault Code: Server.Processing.DuplicateSessionDetected
    - Fault String: Detected duplicate HTTP-based FlexSessions, generally due to the remote host disabling session cookies. Session cookies must be enabled to manage the client connection correctly.

SE-SO を介していくつかの素晴らしいリンクを見つけたので、このエラーの 説明がわかりました。

  • 私のブラウザでは Cookie が無効になっていないため、除外できます。
  • 私は AWS でロード バランシングをまったく実装していません。その 1 つのインスタンスがヒットしただけです。
  • Firebug とクライアント側のログを見ると、Flex アプリが 2 つのリクエストを行っている痕跡は見当たりません。

したがって、この問題が特に AWS で発生している理由はわかりませんが、私たちのラボやクライアントの自己ホスト型マシン、またはIBM の Iaasプラットフォーム上にあるインスタンスでは発生しません。

これが以前に発生したのを見た人はいますか (具体的には、AWS が混在している場合)、回避策を見たことがありますか?

参考までに: 私は開発者ではなくテスターですが、必要に応じて詳細情報を入手できます。コメントで質問してください。

4

1 に答える 1

0

Do you have cross-domain in place? It might be the problem. Moreover it seems that while the first request is not over, a new request has been made which will lead to duplicate session problem.

于 2012-07-09T02:50:51.750 に答える