随机时间Rails InvalidAuthenticityToken

时间:2010-08-06 11:19:15

标签: ruby-on-rails mongrel authenticity-token

这是合约。

我们的应用程序正在运行,作者正在使用它来发送网站内容。 问题是,在提交站点中任何资源的表单后,我们的编写者会不时地收到错误。检查生产日志后的错误是旧的InvalidAuthenticityToken。

问题是,他们不会更改令牌,他们不会使表单无效,除了在编辑器中写入并点击提交,他们什么都不做!

错误似乎是完全随机的,有时它会发生,有时它不会:/ 我所知道的是,在编辑或创建项目时会发生这种情况,因此POST或PUT请求,但问题是,它不在应用程序的某个特定区域,它最终只会在我们的表单中不时发生。

我们的环境是一个HAProxy服务于mongrel_cluster,运行我们的应用程序有20个混蛋。 Rails版本是2.3.8

这可能是不同杂种中会话的问题吗? 如果没有,我可以做些什么来阻止这种随机错误,这使得编写者有时会因为该死的错误而浪费大量时间编辑文本并丢失它。

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:3)

这个问题比我预期的要简单得多。

会话计时器设置为900秒,有时编写者花费的时间比在同一页面内编辑文本的时间长,网站上没有任何其他导航。

由于超时而导致会话无效,然后最终提交表单时,重置了真实性令牌的会话部分,因此引发了InvalidAuthenticityToken错误。