ruby-on-rails-3 – Sporadic 400错误请求错误nginx / 0.7.67与Heroku和Rails 3

提问

更新:此错误似乎是浏览器特定于Chrome.我在Firefox和IE中点击了这个链接大约50次,我似乎无法引起它.此外,一旦它发生,我可以切换到FF或IE,它将在这两个上正常工作.

我在heroku上的Rails 3应用程序中有一个特定的页面,可以加载一段时间.我可以点击相同的页面,它加载没有问题.但是在一定数量的负载之后,它突然开始给我一个400 Bad Request Error,其下面是nginx / 0.7.67.

发生一次后,每次加载页面时都会出现400错误.但是,如果我将应用程序单独放置一段时间,例如一夜之间,该页面会在早上再次运行一段时间.但如果我点击几次页面,它会再次开始给我这个错误.

这不是本地发生的事情所以它似乎必然是一个heroku问题.

我也尝试重新启动heroku但这没有帮助.唯一似乎有帮助的就是给它一些时间.

就错误而言,heroku日志不会给我任何新信息.一切似乎工作正常,然后我得到一条结束727 | https | 400,它就停止了.

如果有帮助,我正在使用https.

完整错误heroku日志是:

[33m2011-07-02T15:25:59+00:00 heroku[nginx]: <-[0m GET /matters/show/34 HTTP/1.1 | 10.212.125.194 | 727 | https | 400

如果您有任何想法,请告诉我此页面中的代码有助于解决此问题.

最佳答案

因此,经过与Heroku支持人员的长时间来回,我们终于找到了问题.我在我的网站周围的不同地方使用数据表,并使用cookie来存储用户状态设置.当用户在网站周围浏览直到我的标题超过NGINX(8K)允许的最大标题大小时,该cookie越来越长,越来越长.

解决方案是删除/简化cookie或从nginx Heroku(竹子)切换到不使用nginx(雪松)的Heroku堆栈.