乘客会影响Cookie过期

时间:2013-07-29 07:09:56

标签: ruby-on-rails passenger

当我按乘客(乘客开始)启动项目并尝试设置cookie过期时,我从已经过时的Web服务器获取cookie。

In console:

passenger start

In controller:

cookies[:auth_admin_token] = {
  :value    => 'auth_cookie',
  :path     => '/settings',
  :secure   => false,
  :expires  => 20.minutes.from_now
}

我发现Rails所说的与时区有关的问题。但是在rails文档中找不到有关时区和cookie的任何信息。如果我为expires“240.minutes.from_now”设置了较大的值,那么cookie将会起作用。

当我通过“WEBrick”启动项目时没有这样的问题

rails s
=> Booting WEBrick
=> Rails 3.0.20 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server

1 个答案:

答案 0 :(得分:2)

这是乘客错误“自动生成的日期标题必须是GMT”https://code.google.com/p/phusion-passenger/issues/detail?id=913

在乘客版本4.0.13 http://blog.phusion.nl/2013/08/15/phusion-passenger-4-0-13-released/

中修复了错误

“自动生成的HTTP日期标题现在是UTC而不是本地时间。这可能导致Cookie的过期时间错误。修复问题#913。”