【问题标题】:Rails - Elastic Beanstalk AWS - sessions not maintainedRails - Elastic Beanstalk AWS - 会话未维护
【发布时间】:2015-12-20 19:22:21
【问题描述】:

我刚刚将 Rails 3.2.17 应用程序部署到 AWS Elastic Beanstalk。

我一开始无法登录应用程序(我们使用 Devise),并在日志中不断收到 WARNING: Can't verify CSRF token authenticity。

然后当我试图在 Chrome 开发者工具中查看会话时,没有为应用程序设置 cookie,这非常奇怪。

然后我尝试从ApplicationController 打印出session,每次我得到不同的session_id。

{"session_id"=>"e0f2ccf03d07f48def5c4fbb872f2c0c", "last_action_time"=>Wed, 23 Sep 2015 08:40:09 EDT -04:00, "test"=>"test"}
....
 {"session_id"=>"0f9ef3aaf150619ac408da2bac4f51ae", "last_action_time"=>Wed, 23 Sep 2015 08:43:24 EDT -04:00, "test"=>"test"}

这是我的session_store.rb:

MyApp::Application.config.session_store :cookie_store, key: ENV['SESSION_NAME'], domain: :all

我还需要做其他事情吗?谢谢!此应用在单个 EC2 实例(暂存环境)中运行良好。

【问题讨论】:

    标签: ruby-on-rails session amazon-web-services amazon-ec2 amazon-elastic-beanstalk


    【解决方案1】:

    domain: :all 是罪魁祸首。它假设 TLD 长度为 1 而我的不是。删除它,事情又恢复了正常。如果您想跨子域维护会话(domain: :all 的目的),您可以明确指定域。

    【讨论】:

      猜你喜欢
      • 2013-09-11
      • 2013-12-27
      • 2015-05-26
      • 2014-10-27
      • 2019-11-22
      • 2015-09-26
      • 2020-05-15
      • 2018-11-18
      • 2016-09-18
      相关资源
      最近更新 更多