2012-01-26 32 views
1

我有一個基本的Sinatra應用程序部署到Heroku。我在應用程序中啓用了「會話」,除了設置/訪問會話數據外,沒有其他操作可以處理會話。該應用程序運行良好,但如果我有瀏覽器會話打開,並重新部署到Heroku,然後當我使用相同的瀏覽器會話,我得到「錯誤H13(連接關閉無響應)」和瀏覽器中的應用程序錯誤。我找不到有關錯誤的更多信息。部署在heroku上的機架/ Sinatra會話中斷 - E13

如果我刪除了該域的Cookie,那麼該應用程序會再次開始工作。

所以,它是:1)部署應用程序,在新的瀏覽器會話中使用應用程序,一切都很好。 2)'git push heroku master'3)使用相同的瀏覽器,E13

嘗試設置Rack :: Session :: Cookie祕密顯式,但它沒有區別。

也在本地生產模式下運行的應用程序,但不能複製這個。

我寧願不毀掉任何人的一天,如果他們碰巧在我部署時使用應用程序。任何想法還有哪些可以追蹤下來?

回答

1

您需要設置會話密鑰以及:

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

沒有嘗試,但嘗試使用Rack :: Session :: Cookie,如Sinatra FAQ http://www.sinatrarb.com/faq中所述。 html#會話(它幾乎完全相同的東西) – sbeam

+0

這對我來說,它看起來像根據[這]更好的解決方案(http://stackoverflow.com/questions/6115136/in-a-sinatra-app-上的Heroku-會話是 - 不共享跨DYNOS)。 –