我在浏览器中设置了一个cookie,如下所示:
def set_browser_cookie
cookies.permanent[:ignore_stats_cookie] = {
:value => STAT_COOKIE,
:domain => :all,
:secure => false,
:httponly => false
}
redirect_to settings_path
end
当我在Chrome中查看Chrome中的Cookie时,Cookie允许任何类型的连接。
当我在PRODUCTION中查看Chrome中的Cookie时,Cookie只允许安全连接(应用程序本身为https)。
我正在将Cookie设置为:secure => false,
,那么为什么只为生产中的安全连接设置Cookie?
答案 0 :(得分:1)
我遇到了同样的问题,并且能够使用tunnels
gem作为代理在我的开发机器上重现,并在'development'环境中设置force_ssl = true
。
我调试了Rack和ActionPack,发现标题最后没有; secure
发送,但之后会被修改。
我的下一步是使用Wireshark捕获SSL会话并对其进行解密,但我已经没时间了。
我使用在nginx后面托管的PHP应用程序进行测试,并且在使用HTTPS时,服务器能够发送不包含secure
标志的cookie。所以这个问题肯定是我们在Rails中使用的堆栈特有的,而不是浏览器问题。