2012-01-26 10 views
1

私はHerokuに配備された基本的なSinatraアプリを持っています。私はアプリで「enable:sessions」を持っていて、セッションデータの設定/アクセス以外は何もしません。アプリケーションはうまく動作しますが、ブラウザセッションを開いてherokuに再デプロイすると、同じブラウザセッションを使用すると、ブラウザに「エラーH13(接続は応答なしで終了)」とアプリケーションエラーが発生します。私はエラーについて何も知ることができません。herokuに展開するとRack/Sinatraセッションが中断する -

ドメインのCookieを削除すると、アプリが再び動作を開始します。

これもまた、1)アプリをデプロイし、新しいブラウザセッションでアプリを使用すると、すべてうまくいきます。 2) 'git push heroku master' 3)同じブラウザを使用する、E13

はRack :: Session :: Cookieの秘密を明示的に設定しようとしましたが、違いはありません。

ローカルでプロダクションモードでアプリを実行しましたが、これを複製することはできません。

デプロイメントを行うときにアプリを使用しているのであれば、私はむしろ誰かの日を台無しにすることはありません。これを追跡するために他にどのようなアイデアがありますか?あなたにもセッション秘密を設定する必要が

答えて

0

これは、無効なセッションダイジェストが処理された方法に関するラック1.4.0のバグでした。 github.com/rack/rack/issues/299問題はRack 1.4.1へのアップグレードによって解決されました

1

configure do 
    enable :sessions 
    set :session_secret, ENV['SESSION_SECRET'] ||= 'super secret' 
end 
+0

Sacker FAQ http://www.sinatrarb.com/faqで説明されているように、Rack :: Session :: Cookieを使ってみました。 html#sessions(これはかなり同じことをします) – sbeam

+0

これは私のために働いて、[this](http://stackoverflow.com/questions/6115136/in-a-sinatra-app- on-heroku-session-is-not-shared-across-dynos)を使用します。 –

関連する問題