4

更新:このバグはChromeに固有のブラウザのようです。FirefoxとIEでそれぞれ約50回リンクをクリックしましたが、原因とは思えません。また、発生したら、FFまたはIEに切り替えることができ、これら2つで正常に動作します。

Rails 3アプリケーションのherokuに、しばらくの間正常に読み込まれる特定のページがあります。同じページをクリックすると問題なく読み込まれます。しかし、特定の数のロードの後、突然、nginx/0.7.67が下にある400BadRequestErrorが発生し始めます。

一度発生した後、ページをロードするたびに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

アイデアがあれば、このページのどのコードがこの問題の解決に役立つか教えてください。

4

1 に答える 1

4

そのため、Herokuサポートスタッフとの長いやり取りの結果、ようやく問題が見つかりました。私は自分のサイトのさまざまな場所でDatatablesを使用し、Cookieを使用してユーザーの状態設定を保存していました。私のヘッダーがNGINXで許可されている最大ヘッダーサイズ(8K)を超えるまで、ユーザーがサイト内を移動するにつれて、そのCookieはどんどん長くなっていきました。

解決策は、そのCookieを削除/簡略化するか、nginx Heroku(竹)からnginx(杉)を使用しないHerokuスタックに切り替えることでした。

于 2011-12-16T16:50:52.860 に答える