由于某些原因,我的应用中的会话cookie未在生产中正确设置。这个问题似乎只是在一夜之间出现,我无法改变我的想法。只涉及一个领域。
当我在localhost上开发应用程序时,会设置会话cookie,因此服务器发生了一些奇怪的事情。如果我检查服务器端的cookie,它会给我一个列表,但是没有在浏览器中设置cookie。此外,我可以在服务器端手动创建一个测试cookie,它会显示在浏览器上。它只是会话cookie没有出现。
我尝试将会话存储从memcached更改为cookiestore,这似乎没有帮助 - 仍然没有会话cookie。所以我不认为这是session_store代码。
使用Rails 4.0.2和乘客4.0.19以及它安装的任何版本的nginx。红宝石1.9.3。任何帮助将不胜感激 - 我完全难过。
答案 0 :(得分:1)
他们已经在github repo中修复了这个问题,并且随时都会被释放。
无论如何,如果某人在rails2中,并且仍有此错误,或者不想更新Passenger,我们可以修复它:
class ApplicationController < ActionController::Base
after_filter :set_headers
def set_headers
response.headers["Date"] = "#{Time.now.utc}"
end
end
这是official post解释发生了什么。
我刚刚将Phusion Passenger gem更新为4.0.30。它是非常直接的,并修复了这个bug。 Oficial Instruction here