2011-07-13 43 views
0

所以我已經將應用從rails 2.2升級到了2.3.12,而我最後剩下的問題就是facebook連接集成的問題。使用oAuth2 gem和facebook的OpenSSL問題

我使用的oauth2寶石,這和好,我不斷收到以下錯誤

OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed): 

我試圖遵循的oauth2 wiki頁面的描述只是爲了與已解決anohter錯誤結束通過分解項目和調整代碼。 read here

我沒有在我的開發服務器上的問題,但只在生產中。

我的客戶端代碼如下

def client 
    ca_file = File.join('/etc/ssl/cacert.pem') 
    @client ||= OAuth2::Client.new('app_id', 'app_secret', { 
    :site => { 
     :url=>'https://graph.facebook.com', 
     :ssl=>{ 
     :verify => OpenSSL::SSL::VERIFY_PEER, 
     :ca_file => ca_file 
     } 
    }, 
    :adapter => :NetHttp 
    }) 
    @client 
end 

我已確認約一百倍,現在我的cacert.pem文件是存在的,並且 的權利都OK。

歡迎關於從何處開始調試的任何想法。

+0

什麼'ruby -ropenssl -e'將OpenSSL :: OPENSSL_VERSION''打印在您的開發服務器上,它在生產中說了些什麼? – emboss

+0

@emboss **開發** OpenSSL 0.9.8l 2009年11月5日 **生產** OpenSSL 0.9.8g 2007年10月19日 –

+0

任何解決方案? –

回答

1

解決

我上運行Debian 6.0(sqeeze)新的服務器搬到這個網站,而不是5.0(腐蝕),這解決了我的問題。我對這個問題的看法是,我得到了OpenSSL的較新版本:

的Debian 6.0:OpenSSL的0.9.8o 2010年6月1日
的Debian 5.0:OpenSSL的0.9.8g二〇〇七年十月一十九日

我不能保證這是該問題,但因爲它現在正在工作,沒有代碼更改。我認爲是。