3

これが取引です。

私たちのアプリケーションは機能しており、ライターがWebサイトのコンテンツを送信するために使用しています。問題は、サイト内のリソースのフォームを送信した後、ライターがエラーを受け取ることがあることです。本番ログを確認した後のエラーは、古き良きInvalidAuthenticityTokenでした。

問題は、トークンを変更せず、フォームを無効にせず、エディターに書き込んで[送信]をクリックする以外に何もしないことです。

エラーは完全にランダムであるように見えますが、発生することもあれば発生しないこともあります:/アイテムの編集または作成時に発生することだけがわかっているので、POSTまたはPUTリクエストのいずれかですが、問題は1つではないということです。アプリケーションの特定の領域では、それは最終的にフォーム全体で時々発生しました。

私たちの環境は、アプリを実行している20匹の雑種でmongrel_clusterにサービスを提供するHAProxyです。Railsのバージョンは2.3.8です

これは、異なる雑種のセッションで問題になる可能性がありますか?そうでない場合は、このランダムなエラーを防ぐために何ができるでしょうか。これにより、ライターはテキストの編集に多くの時間を費やし、エラーが原因でテキストを失うことがあります。

どんな助けでも本当にありがたいです。

4

1 に答える 1

3

問題は、私が予想していたよりも本当に単純でした。

セッションタイマーは900秒に設定されており、Webサイトで他のナビゲーションを行わずに、ライターが同じページ内のテキストを編集するよりも時間がかかる場合がありました。

これにより、タイムアウトが原因でセッションが無効になり、最終的にフォームが送信されたときに、信頼性トークンのセッション部分がリセットされたため、InvalidAuthenticityTokenエラーが発生しました。

于 2010-08-06T16:40:52.217 に答える