重复会话 访问 AWS 实例时出错



我们有一个具有Java后端的Flex应用程序,我们在中间使用了BlazeDS。
我们使用Tomcat作为Java应用程序服务器,对于在物理或虚拟服务器上自托管应用程序的客户端群来说,它工作得很好。

我们已在 AWS 上的新实例上设置了部署。我们可以从实例本身很好地点击应用程序,但是通过我的家庭和工作机器上的浏览器上的公共DNS点击它,我收到以下消息:

检测到重复的基于 HTTP 的弹性会话,通常是由于 远程主机禁用会话 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 上实现负载均衡,它只是一个实例命中。
  • 通过查看Firebug和客户端日志,我看不到Flex应用程序发出两个请求的任何痕迹。

因此,我不确定为什么这个问题专门发生在 AWS 上,但不发生在我们的实验室或任何客户端自托管机器上,或者我们在 IBM Iaas 平台上的实例中。

有没有人见过这种情况发生过(特别是混合使用AWS)并看到了解决方法?

仅供参考:我是测试人员而不是开发人员,但如果需要,可以获得更多信息。 请通过评论提问。

你有跨域吗?这可能是问题所在。此外,似乎虽然第一个请求尚未结束,但已经提出了一个新请求,这将导致重复会话问题。

相关内容

  • 没有找到相关文章

最新更新