在Heroku Cedar上使用Postgres時,當我嘗試使用OpenSSL驗證公鑰時,與數據庫的連接丟失。Heroku上的OpenSSL - 數據庫連接丟失
# Recreate the error using a Base64 encoded key (BASE64_KEY below) you can go into the console and do the following:
decoded_key = Base64.decode64(BASE64_KEY)
public_key = OpenSSL::PKey::RSA.new(decoded_key)
public_key.verify(OpenSSL::Digest::SHA1.new, "", "")
# Database connection is lost when this fails.
當驗證通過時,所有東西都是hunky dory。我似乎無法在開發中複製這種行爲。
任何想法爲什麼會發生?更好的是,是否有解決方法?
我們已經跌進這個完全一樣的問題,並已採取了我們一個星期要認識到這是這一點,導致數據庫連接的損失。你有沒有進一步瞭解事業/解決方案,還是隻是放下工作? – Fringley 2013-10-09 14:28:38
完成後將它留在Fringley。大量的支持,最後他們的結論是「是的,OpenSSL是個婊子!」。 在說,我從來沒有任何問題的解決方法。您需要注意內存泄漏,但對我們來說這絕對不是問題,我們通過這種方式維護了數十萬個身份驗證。 – 2013-10-09 15:31:32
是的,我們也有同樣的分辨率不足。我剛剛設法修復它!我們運行獨角獸,並使用Heroku推薦的獨角獸文件,該文件位於文件底部,它有一些代碼用於處理重新連接線程服務器上的數據庫。我將這段代碼複製到我們的方法中,然後使用SSL代碼,並且它很快就起作用 - 它可以工作!這裏是文章:https://devcenter.heroku.com/articles/concurrency-and-database-connections – Fringley 2013-10-09 15:49:50